<template>
  <div class="page_root" :key="queryUpdateFlag" data-page-name="跟踪明细" data-page-identification="j_8b79kgtoy0">
    <a-spin :spinning="pageLoading.loading" :tip="pageLoading.tip">
      <!-- begin vid_eiugfqdqgf 创建方案跟踪 -->
      <a-modal class="vid_eiugfqdqgf" v-model:visible="vid_eiugfqdqgf_props.visible" :centered="true" :title="'创建方案跟踪'"
        :maskClosable="false" :width="980" @ok="handle_vid_eiugfqdqgf_ok">
        <!-- begin vid_qiomuzun1t 表单容器_g3ijze7jvi -->
        <a-form ref="vid_qiomuzun1t_ref" class="vid_qiomuzun1t" :model="b_s4b3af3fbs"
          :formModel="vid_qiomuzun1t_props.formModel">
          <!-- begin vid_402pzpmzru 布局容器_zyxiy5j7ob -->
          <a-row class="vid_402pzpmzru" :slots="'11:12'">
            <a-col :span="11">
              <!-- begin vid_4axqgymubk 表单项容器_zwmd9261ss -->
              <a-form-item name="h_z1gwtxpt0d" :rules="b_s4b3af3fbs_rules[`h_z1gwtxpt0d`]" class="vid_4axqgymubk"
                :label-col='{ "span": 7 }' :wrapper-col='{ "span": 17 }'>
                <!-- begin vid_4znhxf1euj 下拉框_caz8v8gqxl -->
                <a-select class="vid_4znhxf1euj" :getPopupContainer="(node) => node.parentNode"
                  v-model:value="b_s4b3af3fbs.h_z1gwtxpt0d" :showArrow="true" :filterOption="(input, option) => {
    return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
  }" :dropdownMatchSelectWidth="true" :showSearch="true" :placeholder="'请选择方案名称'"
                  :searchValue="vid_4znhxf1euj_props.searchValue" :selected="vid_4znhxf1euj_props.selected"
                  :options="vid_4znhxf1euj_options()" @change="handle_vid_4znhxf1euj_change"
                  @search="handle_vid_4znhxf1euj_search">
                </a-select>
                <!-- end vid_4znhxf1euj 下拉框_caz8v8gqxl -->
                <template #label>
                  <!-- begin vid_6qk4nrmjpb 简单文本_ef1128w14w -->
                  <span class="vid_6qk4nrmjpb"> 方案名称 </span>
                  <!-- end vid_6qk4nrmjpb 简单文本_ef1128w14w -->
                </template>
              </a-form-item>
              <!-- end vid_4axqgymubk 表单项容器_zwmd9261ss -->
            </a-col>
            <a-col :span="12"> </a-col>
          </a-row>
          <!-- end vid_402pzpmzru 布局容器_zyxiy5j7ob -->
          <!-- begin vid_hx8gb4h65c 布局容器_ford22g6qh -->
          <a-row class="vid_hx8gb4h65c" :slots="'11:12'">
            <a-col :span="11">
              <!-- begin vid_vmbyw7upep 表单项容器_kwhiyqnah8 -->
              <a-form-item name="d_i42ehtc5qh" :rules="b_s4b3af3fbs_rules[`d_i42ehtc5qh`]" class="vid_vmbyw7upep"
                :label-col='{ "span": 7 }' :wrapper-col='{ "span": 17 }'>
                <!-- begin vid_61ykpu0e6m 日期_nij43lhgy8 -->
                <a-date-picker class="vid_61ykpu0e6m" :getPopupContainer="(node) => node.parentNode"
                  v-model:value="b_s4b3af3fbs.d_i42ehtc5qh" :placeholder="'请选择跟踪开始日期'" :valueFormat="'YYYY-MM-DD'"
                  :showTime="vid_61ykpu0e6m_props.showTime">
                </a-date-picker>
                <!-- end vid_61ykpu0e6m 日期_nij43lhgy8 -->
                <template #label>
                  <!-- begin vid_oosi78lmab 气泡卡片_szk7i7u233 -->
                  <a-popover class="vid_oosi78lmab" :title="''">
                    <!-- begin vid_15xleumt2c 按钮_qcr0znuk1t -->
                    <a-button class="vid_15xleumt2c" :type="'text'">
                      <template #icon><info-circle-outlined /></template>
                    </a-button>
                    <!-- end vid_15xleumt2c 按钮_qcr0znuk1t -->
                    <template #content>
                      <!-- begin vid_azvaosfkat 容器_yqdh38etf0 -->
                      <al-box class="vid_azvaosfkat">
                        <!-- begin vid_5prvdmw8kz 简单文本_sac8ruoon1 -->
                        <span class="vid_5prvdmw8kz">
                          跟踪开始日期和跟踪结束日期是用于明确ERP系统中用于取计算跟踪结果值的日期范围。在跟踪日期区间内存在客户且未在对比日期区间内出现的客户判定为新客户，否则为老客户。
                        </span>
                        <!-- end vid_5prvdmw8kz 简单文本_sac8ruoon1 -->
                      </al-box>
                      <!-- end vid_azvaosfkat 容器_yqdh38etf0 -->
                    </template>
                  </a-popover>
                  <!-- end vid_oosi78lmab 气泡卡片_szk7i7u233 -->
                  <!-- begin vid_584cr5jlgo 简单文本_2zdv6790lr -->
                  <span class="vid_584cr5jlgo"> 跟踪开始日期 </span>
                  <!-- end vid_584cr5jlgo 简单文本_2zdv6790lr -->
                </template>
              </a-form-item>
              <!-- end vid_vmbyw7upep 表单项容器_kwhiyqnah8 -->
            </a-col>
            <a-col :span="12"> </a-col>
          </a-row>
          <!-- end vid_hx8gb4h65c 布局容器_ford22g6qh -->
          <!-- begin vid_ppwollbbzk 布局容器_iiuvbaaj0u -->
          <a-row class="vid_ppwollbbzk" :slots="'11:12'">
            <a-col :span="11">
              <!-- begin vid_i4kiicjuqy 表单项容器_plztsdcqmi -->
              <a-form-item name="e_w9y19fd54a" :rules="b_s4b3af3fbs_rules[`e_w9y19fd54a`]" class="vid_i4kiicjuqy"
                :label-col='{ "span": 7 }' :wrapper-col='{ "span": 17 }'>
                <!-- begin vid_uccmen1b0z 日期_8sfpmlc98a -->
                <a-date-picker class="vid_uccmen1b0z" :getPopupContainer="(node) => node.parentNode"
                  v-model:value="b_s4b3af3fbs.e_w9y19fd54a" :placeholder="'请选择跟踪结束日期'" :valueFormat="'YYYY-MM-DD'"
                  :showTime="vid_uccmen1b0z_props.showTime">
                </a-date-picker>
                <!-- end vid_uccmen1b0z 日期_8sfpmlc98a -->
                <template #label>
                  <!-- begin vid_rslk57tmf3 简单文本_1jsp23297b -->
                  <span class="vid_rslk57tmf3"> 跟踪结束日期 </span>
                  <!-- end vid_rslk57tmf3 简单文本_1jsp23297b -->
                </template>
              </a-form-item>
              <!-- end vid_i4kiicjuqy 表单项容器_plztsdcqmi -->
            </a-col>
            <a-col :span="12"> </a-col>
          </a-row>
          <!-- end vid_ppwollbbzk 布局容器_iiuvbaaj0u -->
          <!-- begin vid_y7gcdp5nca 布局容器_fqau4x64h5 -->
          <a-row class="vid_y7gcdp5nca" :slots="'11:12'">
            <a-col :span="11">
              <!-- begin vid_jyet1d9w8o 表单项容器_l3h6l5nih0 -->
              <a-form-item name="m_6wn9gm4dpl" :rules="b_s4b3af3fbs_rules[`m_6wn9gm4dpl`]" class="vid_jyet1d9w8o"
                :label-col='{ "span": 7 }' :wrapper-col='{ "span": 17 }'>
                <!-- begin vid_8f0knrnxvx 日期_3f4ox77r2t -->
                <a-date-picker class="vid_8f0knrnxvx" :getPopupContainer="(node) => node.parentNode"
                  v-model:value="b_s4b3af3fbs.m_6wn9gm4dpl" :placeholder="'请选择对比开始日期'" :valueFormat="'YYYY-MM-DD'"
                  :showTime="vid_8f0knrnxvx_props.showTime">
                </a-date-picker>
                <!-- end vid_8f0knrnxvx 日期_3f4ox77r2t -->
                <template #label>
                  <!-- begin vid_tfs88gyetp 气泡卡片_ywayaht6s8 -->
                  <a-popover class="vid_tfs88gyetp" :title="''">
                    <!-- begin vid_n66a3iehuk 按钮_npmvpyg0xt -->
                    <a-button class="vid_n66a3iehuk" :type="'text'">
                      <template #icon><info-circle-outlined /></template>
                    </a-button>
                    <!-- end vid_n66a3iehuk 按钮_npmvpyg0xt -->
                    <template #content>
                      <!-- begin vid_zg1x0a5ppz 容器_boaihitp1n -->
                      <al-box class="vid_zg1x0a5ppz">
                        <!-- begin vid_lgfqa48ai3 简单文本_v42x6uhtsq -->
                        <span class="vid_lgfqa48ai3"> 对比开始日期和对比结束日期是用于确定原方案执行的日期范围，用于计算实际跟踪的销售量。 </span>
                        <!-- end vid_lgfqa48ai3 简单文本_v42x6uhtsq -->
                      </al-box>
                      <!-- end vid_zg1x0a5ppz 容器_boaihitp1n -->
                    </template>
                  </a-popover>
                  <!-- end vid_tfs88gyetp 气泡卡片_ywayaht6s8 -->
                  <!-- begin vid_43bbkuhrtc 简单文本_9l4rmzk9ph -->
                  <span class="vid_43bbkuhrtc"> 对比开始日期 </span>
                  <!-- end vid_43bbkuhrtc 简单文本_9l4rmzk9ph -->
                </template>
              </a-form-item>
              <!-- end vid_jyet1d9w8o 表单项容器_l3h6l5nih0 -->
            </a-col>
            <a-col :span="12"> </a-col>
          </a-row>
          <!-- end vid_y7gcdp5nca 布局容器_fqau4x64h5 -->
          <!-- begin vid_kdftoq0ol1 布局容器_68kurfxieo -->
          <a-row class="vid_kdftoq0ol1" :slots="'11:12'">
            <a-col :span="11">
              <!-- begin vid_k9kmxdm8jy 表单项容器_57zq98lj9v -->
              <a-form-item name="g_sx5kxy0uit" :rules="b_s4b3af3fbs_rules[`g_sx5kxy0uit`]" class="vid_k9kmxdm8jy"
                :label-col='{ "span": 7 }' :wrapper-col='{ "span": 17 }'>
                <!-- begin vid_b4ir9ps0xq 日期_kt1fhcs3ot -->
                <a-date-picker class="vid_b4ir9ps0xq" :getPopupContainer="(node) => node.parentNode"
                  v-model:value="b_s4b3af3fbs.g_sx5kxy0uit" :placeholder="'请选择对比结束日期'" :valueFormat="'YYYY-MM-DD'"
                  :showTime="vid_b4ir9ps0xq_props.showTime">
                </a-date-picker>
                <!-- end vid_b4ir9ps0xq 日期_kt1fhcs3ot -->
                <template #label>
                  <!-- begin vid_3xnmnkc8yj 简单文本_8ftg09u3vf -->
                  <span class="vid_3xnmnkc8yj"> 对比结束日期 </span>
                  <!-- end vid_3xnmnkc8yj 简单文本_8ftg09u3vf -->
                </template>
              </a-form-item>
              <!-- end vid_k9kmxdm8jy 表单项容器_57zq98lj9v -->
            </a-col>
            <a-col :span="12"> </a-col>
          </a-row>
          <!-- end vid_kdftoq0ol1 布局容器_68kurfxieo -->
          <!-- begin vid_0e4onw466j 表单容器_j3536zklin -->
          <a-form class="vid_0e4onw466j" :model="g_5setus66w6" :colon="false"
            :formModel="vid_0e4onw466j_props.formModel">
            <!-- begin vid_j75hf8gj0e 布局容器_017p4zuyi1 -->
            <a-row class="vid_j75hf8gj0e" :slots="'11:12'">
              <a-col :span="11">
                <!-- begin vid_czy1tp41vk 表单项容器_3z05ez1xaa -->
                <a-form-item name="undefined" :rules="g_5setus66w6_rules[`undefined`]" class="vid_czy1tp41vk"
                  :label-col='{ "span": 7 }' :wrapper-col='{ "span": 16 }'>
                  <!-- begin vid_ihbxe8bz3o 简单文本_x5013bggtw -->
                  <span class="vid_ihbxe8bz3o"> 存货品种 </span>
                  <!-- end vid_ihbxe8bz3o 简单文本_x5013bggtw -->
                  <template #label>
                    <!-- begin vid_r22ppb4kru 简单文本_8eum89wq0r -->
                    <span v-if="false" class="vid_r22ppb4kru"> 站位文字 </span>
                    <!-- end vid_r22ppb4kru 简单文本_8eum89wq0r -->
                  </template>
                </a-form-item>
                <!-- end vid_czy1tp41vk 表单项容器_3z05ez1xaa -->
              </a-col>
              <a-col :span="12">
                <!-- begin vid_v5og9762d1 表单项容器_n5rvtrdlwz -->
                <a-form-item name="undefined" :rules="g_5setus66w6_rules[`undefined`]" class="vid_v5og9762d1"
                  :label-col='{ "span": 6 }' :wrapper-col='{ "span": 18 }'>
                  <!-- begin vid_o0xhd7ipdj 简单文本_6i3e9xm0jt -->
                  <span class="vid_o0xhd7ipdj"> 业务板块（排除） </span>
                  <!-- end vid_o0xhd7ipdj 简单文本_6i3e9xm0jt -->
                  <template #label>
                    <!-- begin vid_fj94yxhzjz 简单文本_mv6dp456gk -->
                    <span v-if="false" class="vid_fj94yxhzjz"> 站位文字 </span>
                    <!-- end vid_fj94yxhzjz 简单文本_mv6dp456gk -->
                  </template>
                </a-form-item>
                <!-- end vid_v5og9762d1 表单项容器_n5rvtrdlwz -->
              </a-col>
            </a-row>
            <!-- end vid_j75hf8gj0e 布局容器_017p4zuyi1 -->
          </a-form>
          <!-- end vid_0e4onw466j 表单容器_j3536zklin -->
          <!-- begin vid_98b830vxao 动作列表_z75np74jzt -->
          <al-action-list data-field-key="a_d4njte2ji9" ref="vid_98b830vxao_ref" class="vid_98b830vxao"
            v-model:dataSource="vid_98b830vxao_props.dataSource"
            v-model:extendDataSource="vid_98b830vxao_props.dataSource" v-model:current="vid_98b830vxao_props.current"
            v-model:currentIndex="vid_98b830vxao_props.currentIndex" :showAddBtn="false" :showDelBtn="false">
            <template #default="vid_98b830vxao_dataItem">
              <!-- begin vid_xyst891jy9 表单容器_tsmugttclo -->
              <a-form :data-cycle-index="vid_98b830vxao_dataItem.cycleIndex" class="vid_xyst891jy9"
                :model="n_nvlymeclys" :colon="false" :formModel="vid_xyst891jy9_props.formModel">
                <!-- begin vid_6dc29qv2sf 布局容器_bmrlg7hdc8 -->
                <a-row :data-cycle-index="vid_98b830vxao_dataItem.cycleIndex" class="vid_6dc29qv2sf" :slots="'11:12'">
                  <a-col :span="11">
                    <!-- begin vid_8kamh8rmy8 表单项容器_bc0dbsb29p -->
                    <a-form-item :name="setSubFormName(vid_98b830vxao_dataItem, `stockNameList`)"
                      :rules="n_nvlymeclys_rules[`stockNameList`]"
                      :data-cycle-index="vid_98b830vxao_dataItem.cycleIndex" class="vid_8kamh8rmy8"
                      :label-col='{ "span": 7 }' :wrapper-col='{ "span": 17 }'>
                      <!-- begin vid_4mvnf9s318 下拉框_hqm0ogx05d -->
                      <a-select :data-cycle-index="vid_98b830vxao_dataItem.cycleIndex" class="vid_4mvnf9s318"
                        :getPopupContainer="(node) => node.parentNode"
                        v-model:value="vid_98b830vxao_dataItem.dataItem.stockNameList" :showArrow="true"
                        :mode="'multiple'" :filterOption="false" :placeholder="'请选择'"
                        :searchValue="vid_4mvnf9s318_props.searchValue" :selected="vid_4mvnf9s318_props.selected"
                        :options="vid_4mvnf9s318_options()" @change="handle_vid_4mvnf9s318_change"
                        @search="handle_vid_4mvnf9s318_search">
                      </a-select>
                      <!-- end vid_4mvnf9s318 下拉框_hqm0ogx05d -->
                      <template #label>
                        <!-- begin vid_gv22u4rv2t 输入框_lxyyu0gz5m -->
                        <a-input autocomplete="off" :data-cycle-index="vid_98b830vxao_dataItem.cycleIndex"
                          class="vid_gv22u4rv2t" v-model:value="vid_98b830vxao_dataItem.dataItem.areaName"
                          :disabled="true">
                        </a-input>
                        <!-- end vid_gv22u4rv2t 输入框_lxyyu0gz5m -->
                        <!-- begin vid_eayblwqz2r 简单文本_5ti3h0ap5s -->
                        <span :data-cycle-index="vid_98b830vxao_dataItem.cycleIndex" v-if="false"
                          class="vid_eayblwqz2r"> </span>
                        <!-- end vid_eayblwqz2r 简单文本_5ti3h0ap5s -->
                      </template>
                    </a-form-item>
                    <!-- end vid_8kamh8rmy8 表单项容器_bc0dbsb29p -->
                  </a-col>
                  <a-col :span="12">
                    <!-- begin vid_2whplt14cx 表单项容器_7lsxtnlwml -->
                    <a-form-item :name="setSubFormName(vid_98b830vxao_dataItem, `businessPlateList`)"
                      :rules="n_nvlymeclys_rules[`businessPlateList`]"
                      :data-cycle-index="vid_98b830vxao_dataItem.cycleIndex" class="vid_2whplt14cx"
                      :label-col='{ "span": 6 }' :wrapper-col='{ "span": 18 }'>
                      <!-- begin vid_5ai9f5kegu 下拉框_lt4o00zcco -->
                      <a-select :data-cycle-index="vid_98b830vxao_dataItem.cycleIndex" class="vid_5ai9f5kegu"
                        :getPopupContainer="(node) => node.parentNode"
                        v-model:value="vid_98b830vxao_dataItem.dataItem.businessPlateList" :showArrow="true"
                        :mode="'multiple'" :filterOption="false" :placeholder="'请选择'"
                        :searchValue="vid_5ai9f5kegu_props.searchValue" :selected="vid_5ai9f5kegu_props.selected"
                        :options="vid_5ai9f5kegu_options()" @change="handle_vid_5ai9f5kegu_change"
                        @search="handle_vid_5ai9f5kegu_search">
                      </a-select>
                      <!-- end vid_5ai9f5kegu 下拉框_lt4o00zcco -->
                      <template #label>
                        <!-- begin vid_vz9juvgpej 简单文本_6hd9p0il2x -->
                        <span :data-cycle-index="vid_98b830vxao_dataItem.cycleIndex" v-if="false"
                          class="vid_vz9juvgpej"> 转移量目标 </span>
                        <!-- end vid_vz9juvgpej 简单文本_6hd9p0il2x -->
                      </template>
                    </a-form-item>
                    <!-- end vid_2whplt14cx 表单项容器_7lsxtnlwml -->
                  </a-col>
                </a-row>
                <!-- end vid_6dc29qv2sf 布局容器_bmrlg7hdc8 -->
              </a-form>
              <!-- end vid_xyst891jy9 表单容器_tsmugttclo -->
            </template>
          </al-action-list>
          <!-- end vid_98b830vxao 动作列表_z75np74jzt -->
        </a-form>
        <!-- end vid_qiomuzun1t 表单容器_g3ijze7jvi -->
      </a-modal>
      <!-- end vid_eiugfqdqgf 创建方案跟踪 -->
      <!-- begin vid_64j17hvjxg 方案已存在提示_2062e380s6 -->
      <!-- end vid_64j17hvjxg 方案已存在提示_2062e380s6 -->
      <!-- begin vid_v836qgvkhp 导入失败全局提示_zzfz6gprh0 -->
      <!-- end vid_v836qgvkhp 导入失败全局提示_zzfz6gprh0 -->
      <!-- begin vid_geu1yf8i6m 导入成功全局提示_0vfogydyku -->
      <!-- end vid_geu1yf8i6m 导入成功全局提示_0vfogydyku -->
      <!-- begin vid_20axtkscly 删除成功_rdoqai6l54 -->
      <!-- end vid_20axtkscly 删除成功_rdoqai6l54 -->
      <!-- begin vid_pzdzo7cz52 删除失败_ylr7o9pemu -->
      <!-- end vid_pzdzo7cz52 删除失败_ylr7o9pemu -->
      <!-- begin vid_10y8gy7frf 修改成功_nb8jevedxh -->
      <!-- end vid_10y8gy7frf 修改成功_nb8jevedxh -->
      <!-- begin vid_wxrh37dm6m 修改失败_1shcnkavdv -->
      <!-- end vid_wxrh37dm6m 修改失败_1shcnkavdv -->
      <!-- begin vid_k9r3sbi0bh 新增成功_eloz938wah -->
      <!-- end vid_k9r3sbi0bh 新增成功_eloz938wah -->
      <!-- begin vid_y851gfjx9v 新增失败_9fzf5yer02 -->
      <!-- end vid_y851gfjx9v 新增失败_9fzf5yer02 -->
      <!-- begin vid_rlb5dflrsg 删除 -->
      <a-modal class="vid_rlb5dflrsg" v-model:visible="vid_rlb5dflrsg_props.visible" :centered="true" :title="'删除'"
        :maskClosable="false" :width="320" @cancel="handle_vid_rlb5dflrsg_cancel" @ok="handle_vid_rlb5dflrsg_ok">
        <!-- begin vid_rr86nu3hg6 简单文本_zqdkiro5mc -->
        <span class="vid_rr86nu3hg6"> 是否删除此内容？ </span>
        <!-- end vid_rr86nu3hg6 简单文本_zqdkiro5mc -->
      </a-modal>
      <!-- end vid_rlb5dflrsg 删除 -->
      <!-- begin vid_v64mjv38mi 新增 -->
      <a-modal class="vid_v64mjv38mi" v-model:visible="vid_v64mjv38mi_props.visible" :centered="true" :title="'新增'"
        :maskClosable="false" @cancel="handle_vid_v64mjv38mi_cancel" @ok="handle_vid_v64mjv38mi_ok">
        <!-- begin vid_ggy0hhd3d7 新增路线表单 -->
        <a-form ref="vid_ggy0hhd3d7_ref" class="vid_ggy0hhd3d7" :model="q_0n9lcks6du"
          :formModel="vid_ggy0hhd3d7_props.formModel">
          <!-- begin vid_q3tpmv5p6c 表单项容器_gzqklyu06s -->
          <a-form-item name="b_cxm6mk7hsx" :rules="q_0n9lcks6du_rules[`b_cxm6mk7hsx`]" class="vid_q3tpmv5p6c"
            :label-col='{ "span": 6 }' :wrapper-col='{ "span": 18 }'>
            <!-- begin vid_exoezxmeo8 下拉框_7e96uq47ex -->
            <a-select class="vid_exoezxmeo8" :getPopupContainer="(node) => node.parentNode"
              v-model:value="q_0n9lcks6du.b_cxm6mk7hsx" :showArrow="true" :filterOption="false"
              :dropdownMatchSelectWidth="true" :placeholder="'请选择方案名称'" :searchValue="vid_exoezxmeo8_props.searchValue"
              :selected="vid_exoezxmeo8_props.selected" :options="vid_exoezxmeo8_options()"
              @change="handle_vid_exoezxmeo8_change" @search="handle_vid_exoezxmeo8_search">
            </a-select>
            <!-- end vid_exoezxmeo8 下拉框_7e96uq47ex -->
            <template #label>
              <!-- begin vid_514uk7ex85 方案名称 -->
              <span class="vid_514uk7ex85"> 方案名称 </span>
              <!-- end vid_514uk7ex85 方案名称 -->
            </template>
          </a-form-item>
          <!-- end vid_q3tpmv5p6c 表单项容器_gzqklyu06s -->
          <!-- begin vid_tk3an97d2i 表单项容器_fxd84sdogj -->
          <a-form-item name="l_gjascavd45" :rules="q_0n9lcks6du_rules[`l_gjascavd45`]" class="vid_tk3an97d2i"
            :label-col='{ "span": 6 }' :wrapper-col='{ "span": 18 }'>
            <!-- begin vid_pspd2pmflg 日期_b6926p0715 -->
            <a-date-picker class="vid_pspd2pmflg" :getPopupContainer="(node) => node.parentNode"
              v-model:value="q_0n9lcks6du.l_gjascavd45" :valueFormat="'YYYY-MM-DD'" :placeholder="'请选择跟踪开始日期'"
              :showTime="vid_pspd2pmflg_props.showTime">
            </a-date-picker>
            <!-- end vid_pspd2pmflg 日期_b6926p0715 -->
            <template #label>
              <!-- begin vid_3hmzuch6ba 跟踪开始日期 -->
              <span class="vid_3hmzuch6ba"> 跟踪开始日期 </span>
              <!-- end vid_3hmzuch6ba 跟踪开始日期 -->
            </template>
          </a-form-item>
          <!-- end vid_tk3an97d2i 表单项容器_fxd84sdogj -->
          <!-- begin vid_b0as2s285g 表单项容器_iau73sv8pj -->
          <a-form-item name="p_m74d5cuevj" :rules="q_0n9lcks6du_rules[`p_m74d5cuevj`]" class="vid_b0as2s285g"
            :label-col='{ "span": 6 }' :wrapper-col='{ "span": 18 }'>
            <!-- begin vid_tdg6as11tr 日期_6x1jd6qwwl -->
            <a-date-picker class="vid_tdg6as11tr" :getPopupContainer="(node) => node.parentNode"
              v-model:value="q_0n9lcks6du.p_m74d5cuevj" :valueFormat="'YYYY-MM-DD'" :placeholder="'请选择跟踪结束日期'"
              :showTime="vid_tdg6as11tr_props.showTime">
            </a-date-picker>
            <!-- end vid_tdg6as11tr 日期_6x1jd6qwwl -->
            <template #label>
              <!-- begin vid_9o7peqoo9g 跟踪结束日期 -->
              <span class="vid_9o7peqoo9g"> 跟踪结束日期 </span>
              <!-- end vid_9o7peqoo9g 跟踪结束日期 -->
            </template>
          </a-form-item>
          <!-- end vid_b0as2s285g 表单项容器_iau73sv8pj -->
          <!-- begin vid_rx49a8wnnk 表单项容器_4o5cpmoo55 -->
          <a-form-item name="y_k1xa3c4u6i" :rules="q_0n9lcks6du_rules[`y_k1xa3c4u6i`]" class="vid_rx49a8wnnk"
            :label-col='{ "span": 6 }' :wrapper-col='{ "span": 18 }'>
            <!-- begin vid_hqzuxko67b 日期_9nmmg1t8yi -->
            <a-date-picker class="vid_hqzuxko67b" :getPopupContainer="(node) => node.parentNode"
              v-model:value="q_0n9lcks6du.y_k1xa3c4u6i" :valueFormat="'YYYY-MM-DD'" :placeholder="'请选择对比开始日期'"
              :showTime="vid_hqzuxko67b_props.showTime">
            </a-date-picker>
            <!-- end vid_hqzuxko67b 日期_9nmmg1t8yi -->
            <template #label>
              <!-- begin vid_at2u3wte7t 对比开始日期 -->
              <span class="vid_at2u3wte7t"> 对比开始日期 </span>
              <!-- end vid_at2u3wte7t 对比开始日期 -->
            </template>
          </a-form-item>
          <!-- end vid_rx49a8wnnk 表单项容器_4o5cpmoo55 -->
          <!-- begin vid_mofmkxsei7 表单项容器_f099qephki -->
          <a-form-item name="z_yggvos9den" :rules="q_0n9lcks6du_rules[`z_yggvos9den`]" class="vid_mofmkxsei7"
            :label-col='{ "span": 6 }' :wrapper-col='{ "span": 18 }'>
            <!-- begin vid_oeedkuopnf 日期_oax23kaay1 -->
            <a-date-picker class="vid_oeedkuopnf" :getPopupContainer="(node) => node.parentNode"
              v-model:value="q_0n9lcks6du.z_yggvos9den" :valueFormat="'YYYY-MM-DD'" :placeholder="'请选择对比结束日期 '"
              :showTime="vid_oeedkuopnf_props.showTime">
            </a-date-picker>
            <!-- end vid_oeedkuopnf 日期_oax23kaay1 -->
            <template #label>
              <!-- begin vid_6n454zdfs5 对比结束日期  -->
              <span class="vid_6n454zdfs5"> 对比结束日期&nbsp; </span>
              <!-- end vid_6n454zdfs5 对比结束日期  -->
            </template>
          </a-form-item>
          <!-- end vid_mofmkxsei7 表单项容器_f099qephki -->
        </a-form>
        <!-- end vid_ggy0hhd3d7 新增路线表单 -->
      </a-modal>
      <!-- end vid_v64mjv38mi 新增 -->
      <!-- begin vid_08gzifwe2w 面包屑_8fodyjd54c -->
      <a-breadcrumb v-if="false" class="vid_08gzifwe2w" style="word-break: break-word">
        <a-breadcrumb-item v-for="(item, index) in vid_08gzifwe2w_props_tabConfig" :key="index"
          @click="handleBreadcrumbJump(router, item)" href="">
          <template v-if="vid_08gzifwe2w_props.rt_showIcon">
            <span v-if="/^(https?:|mailto:|tel:|data:image)/.test(item.icon)" role="img" class="anticon"><embed
                style="width: 1em;height:1em;" :src="item.icon" /></span>
            <component v-else :is="item.icon" />
          </template>
          {{ item.title }}
        </a-breadcrumb-item>
      </a-breadcrumb>
      <!-- end vid_08gzifwe2w 面包屑_8fodyjd54c -->
      <!-- begin vid_gre6fxrbr2 容器_540w0c0z2s -->
      <al-box class="vid_gre6fxrbr2">
        <!-- begin vid_mtpy7hb57w 表单容器_iytgpp6ir4 -->
        <a-form ref="vid_mtpy7hb57w_ref" class="vid_mtpy7hb57w" :model="c_nn5tl03s7o"
          :formModel="vid_mtpy7hb57w_props.formModel">
          <!-- begin vid_tiheieqgz1 布局容器_ejn6atzhy5 -->
          <a-row class="vid_tiheieqgz1" :gutter="16" :slots="'6:6:6:6'">
            <a-col :span="6">
              <!-- begin vid_r4nmbgw7eu 表单项容器_te5sqclugh -->
              <a-form-item name="searchFormEnterpriseName" :rules="c_nn5tl03s7o_rules[`searchFormEnterpriseName`]"
                class="vid_r4nmbgw7eu" :label-col='{ "span": 6 }' :wrapper-col='{ "span": 18 }'>
                <!-- begin vid_e3e2c1uke5 输入框_formulaName -->
                <a-input autocomplete="off" class="vid_e3e2c1uke5"
                  v-model:value="c_nn5tl03s7o.searchFormEnterpriseName">
                </a-input>
                <!-- end vid_e3e2c1uke5 输入框_formulaName -->
                <template #label>
                  <!-- begin vid_p00g6u82ex 配送方案名称 -->
                  <span class="vid_p00g6u82ex"> 配送方案名称 </span>
                  <!-- end vid_p00g6u82ex 配送方案名称 -->
                </template>
              </a-form-item>
              <!-- end vid_r4nmbgw7eu 表单项容器_te5sqclugh -->
            </a-col>
            <a-col :span="6">
              <!-- begin vid_l7h4fihefs 按钮_eqnm0q1tvd -->
              <a-button class="vid_l7h4fihefs" :type="'primary'" @click="handle_vid_l7h4fihefs_click"> 查询 </a-button>
              <!-- end vid_l7h4fihefs 按钮_eqnm0q1tvd -->
              <!-- begin vid_6kykssdrdk 按钮_oct6d1hawb -->
              <a-button class="vid_6kykssdrdk" @click="handle_vid_6kykssdrdk_click"> 重置 </a-button>
              <!-- end vid_6kykssdrdk 按钮_oct6d1hawb -->
            </a-col>
            <a-col :span="6"> </a-col>
            <a-col :span="6"> </a-col>
          </a-row>
          <!-- end vid_tiheieqgz1 布局容器_ejn6atzhy5 -->
        </a-form>
        <!-- end vid_mtpy7hb57w 表单容器_iytgpp6ir4 -->
        <!-- begin vid_qs9c42wp43 容器_0z75bqgcxl -->
        <al-box class="vid_qs9c42wp43">
          <!-- begin vid_7fowdp3xqq 布局容器_aqgnv0mzwq -->
          <a-row class="vid_7fowdp3xqq" :slots="'12:12'">
            <a-col :span="12">
              <!-- begin vid_jf6wh0ltxn 容器_2apbejv1v8 -->
              <al-box class="vid_jf6wh0ltxn">
                <!-- begin vid_7rbddrw9so 方案跟踪管理 -->
                <span class="vid_7rbddrw9so"> 方案跟踪管理 </span>
                <!-- end vid_7rbddrw9so 方案跟踪管理 -->
              </al-box>
              <!-- end vid_jf6wh0ltxn 容器_2apbejv1v8 -->
            </a-col>
            <a-col :span="12">
              <!-- begin vid_80bjul2w21 容器_g1y3ihuq3v -->
              <al-box class="vid_80bjul2w21">
                <!-- begin vid_icbjbduqt3 创建方案跟踪 -->
                <a-button class="vid_icbjbduqt3" :type="'primary'" @click="handle_vid_icbjbduqt3_click">
                  <template #icon><plus-outlined /></template>

                  创建方案跟踪
                </a-button>
                <!-- end vid_icbjbduqt3 创建方案跟踪 -->
              </al-box>
              <!-- end vid_80bjul2w21 容器_g1y3ihuq3v -->
            </a-col>
          </a-row>
          <!-- end vid_7fowdp3xqq 布局容器_aqgnv0mzwq -->
          <!-- begin vid_b0def1yp1v 容器_et0j2xr6fq -->
          <al-box class="vid_b0def1yp1v">
            <!-- begin vid_7n8q2ae8mm 表格_ihmq97llcm -->
            <!-- 表格_ihmq97llcm -->
            <a-table class="vid_7n8q2ae8mm" :totalNumber="vid_7n8q2ae8mm_props.totalNumber" :bordered="true"
              :editRowSaveLoading="vid_7n8q2ae8mm_props.editRowSaveLoading" :sorter="vid_7n8q2ae8mm_props.sorter"
              :currentRow="vid_7n8q2ae8mm_props.currentRow" :selectedRowList="vid_7n8q2ae8mm_props.selectedRowList"
              :data-source="vid_7n8q2ae8mm_options()" @change="handle_vid_7n8q2ae8mm_change"
              :columns="vid_7n8q2ae8mm_columns" :pagination="vid_7n8q2ae8mm_pagination" row-key="id"
              @resizeColumn="(w, col) => handleResizeColumn(w, col, 'vid_7n8q2ae8mm')"
              :scroll="{ x: 'max-content', scrollToFirstRowOnChange: true, }"
              :row-class-name="(_record, index) => (index % 2 === 1 ? 'table-striped-even' : 'table-striped-odd')">
              <template #headerCell="{ title, column }">
              </template>
              <template #bodyCell="{ text, column, record, index }">
                <!-- 操作列 -->
                <div v-if="column.dataIndex === 'vid_7n8q2ae8mm_operation'" class="operation-cell">
                  <!-- 默认分组 -->
                  <span>
                    <a-button type="link" @click="handle_vid_7n8q2ae8mm_clickBtn_v167g9d5xi(record)">转移量管理</a-button>
                    <a-button type="link" @click="handle_vid_7n8q2ae8mm_clickBtn_suqccx1oll(record)">删除</a-button>
                  </span>
                </div>

                <!-- 序号列 -->
                <template v-if="column && column.dataIndex === 'vid_7n8q2ae8mm_serialNumber'">
                  {{ index + 1 }}
                </template>
                <!-- {"type":"value","dataType":"STRING","rawDataType":"STRING","link":"","value":"配送方案名称"} 列内容 -->
                <template v-if="column.dataIndex === 'formulaName' && !column.customRender">
                  <text-table-cell :rowData="record" :conditionValueMap="vid_7n8q2ae8mm_props.boundaryValueMap"
                    :dataSource="vid_7n8q2ae8mm_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                    :value="text" />
                </template>
                <!-- {"type":"value","dataType":"STRING","rawDataType":"STRING","link":"","value":"袋装总配送量(吨)"} 列内容 -->
                <template v-if="column.dataIndex === 'bagsDeliveryVolume' && !column.customRender">
                  <text-table-cell :rowData="record" :conditionValueMap="vid_7n8q2ae8mm_props.boundaryValueMap"
                    :dataSource="vid_7n8q2ae8mm_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                    :value="text" />
                </template>
                <!-- {"type":"value","dataType":"STRING","rawDataType":"STRING","link":"","value":"散装总配送量(吨)"} 列内容 -->
                <template v-if="column.dataIndex === 'bulkDeliveryVolume' && !column.customRender">
                  <text-table-cell :rowData="record" :conditionValueMap="vid_7n8q2ae8mm_props.boundaryValueMap"
                    :dataSource="vid_7n8q2ae8mm_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                    :value="text" />
                </template>
                <!-- {"type":"value","dataType":"STRING","rawDataType":"STRING","link":"","value":"熟料总配送量(吨)"} 列内容 -->
                <template v-if="column.dataIndex === 'clinkerDeliveryVolume' && !column.customRender">
                  <text-table-cell :rowData="record" :conditionValueMap="vid_7n8q2ae8mm_props.boundaryValueMap"
                    :dataSource="vid_7n8q2ae8mm_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                    :value="text" />
                </template>
                <!-- {"type":"value","dataType":"STRING","rawDataType":"STRING","link":"","value":"跟踪开始日期"} 列内容 -->
                <template v-if="column.dataIndex === 'trackStartDate' && !column.customRender">
                  <text-table-cell :rowData="record" :conditionValueMap="vid_7n8q2ae8mm_props.boundaryValueMap"
                    :dataSource="vid_7n8q2ae8mm_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                    :value="text" />
                </template>
                <!-- {"type":"value","dataType":"STRING","rawDataType":"STRING","link":"","value":"跟踪结束日期"} 列内容 -->
                <template v-if="column.dataIndex === 'trackEndDate' && !column.customRender">
                  <text-table-cell :rowData="record" :conditionValueMap="vid_7n8q2ae8mm_props.boundaryValueMap"
                    :dataSource="vid_7n8q2ae8mm_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                    :value="text" />
                </template>
                <!-- {"type":"value","dataType":"STRING","rawDataType":"STRING","link":"","value":"ID"} 列内容 -->
                <template v-if="column.dataIndex === 'id' && !column.customRender">
                  <number-table-cell :rowData="record" :conditionValueMap="vid_7n8q2ae8mm_props.boundaryValueMap"
                    :dataSource="vid_7n8q2ae8mm_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                    :value="text" />
                </template>
                <!-- {"type":"value","dataType":"STRING","rawDataType":"STRING","link":"","value":"创建人"} 列内容 -->
                <template v-if="column.dataIndex === 'createdByName' && !column.customRender">
                  <text-table-cell :rowData="record" :conditionValueMap="vid_7n8q2ae8mm_props.boundaryValueMap"
                    :dataSource="vid_7n8q2ae8mm_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                    :value="text" />
                </template>
                <!-- {"type":"value","dataType":"STRING","rawDataType":"STRING","link":"","value":"创建日期"} 列内容 -->
                <template v-if="column.dataIndex === 'createdDate' && !column.customRender">
                  <text-table-cell :rowData="record" :conditionValueMap="vid_7n8q2ae8mm_props.boundaryValueMap"
                    :dataSource="vid_7n8q2ae8mm_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                    :value="text" />
                </template>
                <!-- {"type":"value","dataType":"STRING","rawDataType":"STRING","link":"","value":"转移进度"} 列内容 -->
                <template v-if="column.dataIndex === 'transferRatio' && !column.customRender">
                  <progress-table-cell :rowData="record" :conditionValueMap="vid_7n8q2ae8mm_props.boundaryValueMap"
                    :dataSource="vid_7n8q2ae8mm_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                    :value="text" />
                </template>
                <!-- {"type":"value","dataType":"STRING","rawDataType":"STRING","link":"","value":"比对结束日期"} 列内容 -->
                <template v-if="column.dataIndex === 'compareEndDate' && !column.customRender">
                  <text-table-cell :rowData="record" :conditionValueMap="vid_7n8q2ae8mm_props.boundaryValueMap"
                    :dataSource="vid_7n8q2ae8mm_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                    :value="text" />
                </template>
                <!-- {"type":"value","dataType":"STRING","rawDataType":"STRING","link":"","value":"比对开始日期"} 列内容 -->
                <template v-if="column.dataIndex === 'compareStartDate' && !column.customRender">
                  <text-table-cell :rowData="record" :conditionValueMap="vid_7n8q2ae8mm_props.boundaryValueMap"
                    :dataSource="vid_7n8q2ae8mm_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                    :value="text" />
                </template>
              </template>
            </a-table>
            <!-- end vid_7n8q2ae8mm 表格_ihmq97llcm -->
          </al-box>
          <!-- end vid_b0def1yp1v 容器_et0j2xr6fq -->
        </al-box>
        <!-- end vid_qs9c42wp43 容器_0z75bqgcxl -->
      </al-box>
      <!-- end vid_gre6fxrbr2 容器_540w0c0z2s -->
    </a-spin>
  </div>
</template>
<script setup lang="tsx">
import {
  h, ref, reactive, toRaw, markRaw, watch, computed,
  onBeforeMount, onMounted, onBeforeUnmount, onUnmounted, onActivated, onDeactivated
} from "vue";
import { useRoute, useRouter } from 'vue-router';
const router = useRouter();
const route = useRoute();
import { get, post, put, del, request, requestWithHeaders } from '@/utils/http/Axios';
import { cloneDeep, localGet, merge, getDifferenceArray, traversalTreeStructure, checkCaseCondition, renderStringInTemplate, handleBreadcrumbJump, throttle, permission, getComponentParamsValue } from '@/utils/index';
import { isNullOrEmpty, isEmptyArr, isNullOrUnDef, isContained, isArray, isEmpty, isObject } from '@/utils/is';
import dayjs from 'dayjs';
import { getPagePcChartsDataSourceConvert } from '@/utils/chart';
import { message, notification, Modal } from 'ant-design-vue'
import { propertyFormatByNumber, propertyFormatByPercentage, propertyFormatByDate, parseSubFromDataList } from '@/utils/format';
import colorTheme from '@/design/custom-theme.json';
/*** PUBLISH_EXEGESIS ***
import UserTableRecords from '@/model/UserTableRecords';
import { getAppBaseUrl } from '@/utils/index';
import { sendToken } from "@/hooks/useIframeToken";
import { useSystemStore } from "@/store/modules/system";
const systemStore = useSystemStore();
*** PUBLISH_EXEGESIS ***/

import TextTableCell from '@/components/page/tableCell/text.vue';
import TooltipTableCell from '@/components/page/tableCell/tooltip.vue';
import NumberTableCell from '@/components/page/tableCell/number.vue';
import ProgressTableCell from '@/components/page/tableCell/progress.vue';
import OptionsTableCell from '@/components/page/tableCell/options.vue';
import MultipleOptionsTableCell from '@/components/page/tableCell/multipleOptions.vue';
import DatePickerTableCell from '@/components/page/tableCell/datePicker.vue';
import RangePickerTableCell from '@/components/page/tableCell/rangePicker.vue';
import RangeNumberTableCell from '@/components/page/tableCell/rangeNumber.vue';
import BoolTableCell from '@/components/page/tableCell/bool.vue';

// 获取传入的流程ID和组件参数
const props = defineProps({
  'processInstanceId': {
    type: [String, Number, Boolean],
    default: undefined,
  },
})
const immediateWatch = (source, callback) => {
  watch(source, callback, { deep: true, immediate: true })
}



/* -------------------------- 属性定义 -------------------------- */

const setTimeOutList = [];
const pageLoading = reactive({
  loading: false,
  tip: undefined
});
const authInfo = localGet('app-user-store');

const vid_eiugfqdqgf_props = reactive({
  visible: false,
})

const vid_qiomuzun1t_props = reactive({
  formModel: { "h_z1gwtxpt0d": "", "d_i42ehtc5qh": "", "e_w9y19fd54a": "", "m_6wn9gm4dpl": "", "g_sx5kxy0uit": "", "businessPlateList": "", "stockNameList": "", "w_i25llxl7w1": "" },
})

const vid_4znhxf1euj_props = reactive({
  selected: { "label": "", "value": "", "option": {} },
  searchValue: undefined,
  value: undefined,
})

const vid_61ykpu0e6m_props = reactive({
  showTime: undefined,
  value: "",
})

const vid_uccmen1b0z_props = reactive({
  showTime: undefined,
  value: "",
})

const vid_8f0knrnxvx_props = reactive({
  showTime: undefined,
  value: "",
})

const vid_b4ir9ps0xq_props = reactive({
  showTime: undefined,
  value: "",
})

const vid_0e4onw466j_props = reactive({
  formModel: {},
})

const vid_98b830vxao_props = reactive({
  dataSource: [{ "areaName": "", "stockNameList": [{}], "businessPlateList": [{}] }],
  current: { "areaName": "", "stockNameList": [{}], "businessPlateList": [{}] },
  currentIndex: -1,
})

const vid_xyst891jy9_props = reactive({
  formModel: { "businessPlateList": "", "stockNameList": "", "w_i25llxl7w1": "" },
})

const vid_5ai9f5kegu_props = reactive({
  selected: { "label": "", "value": "", "option": {} },
  searchValue: undefined,
  value: undefined,
})

const vid_4mvnf9s318_props = reactive({
  selected: { "label": "", "value": "", "option": {} },
  searchValue: undefined,
  value: undefined,
})

const vid_gv22u4rv2t_props = reactive({
  value: undefined,
})

const vid_64j17hvjxg_props = reactive({
  show: false,
  type: "warning",
  content: "方案已存在",
  duration: 3,
})

const vid_v836qgvkhp_props = reactive({
  show: false,
  type: "error",
  content: undefined,
  duration: 3,
})

const vid_geu1yf8i6m_props = reactive({
  show: false,
  type: "success",
  content: "导入成功",
  duration: 3,
})

const vid_20axtkscly_props = reactive({
  show: false,
  type: "success",
  content: "删除成功",
  duration: 3,
})

const vid_pzdzo7cz52_props = reactive({
  show: false,
  type: "error",
  content: undefined,
  duration: 3,
})

const vid_10y8gy7frf_props = reactive({
  show: false,
  type: "success",
  content: "修改成功",
  duration: 3,
})

const vid_wxrh37dm6m_props = reactive({
  show: false,
  type: "error",
  content: "修改失败",
  duration: 3,
})

const vid_k9r3sbi0bh_props = reactive({
  show: false,
  type: "success",
  content: "新增成功",
  duration: 3,
})

const vid_y851gfjx9v_props = reactive({
  show: false,
  type: "error",
  content: undefined,
  duration: 3,
})

const vid_rlb5dflrsg_props = reactive({
  visible: false,
})

const vid_v64mjv38mi_props = reactive({
  visible: false,
})

const vid_ggy0hhd3d7_props = reactive({
  formModel: { "b_cxm6mk7hsx": "", "l_gjascavd45": "", "p_m74d5cuevj": "", "y_k1xa3c4u6i": "", "z_yggvos9den": "" },
})

const vid_exoezxmeo8_props = reactive({
  selected: { "label": "", "value": "", "option": {} },
  searchValue: undefined,
  value: undefined,
})

const vid_pspd2pmflg_props = reactive({
  showTime: undefined,
  value: "",
})

const vid_tdg6as11tr_props = reactive({
  showTime: undefined,
  value: "",
})

const vid_hqzuxko67b_props = reactive({
  showTime: undefined,
  value: "",
})

const vid_oeedkuopnf_props = reactive({
  showTime: undefined,
  value: "",
})

const vid_08gzifwe2w_props = reactive({
  rt_showIcon: true,
})

const vid_mtpy7hb57w_props = reactive({
  formModel: { "searchFormEnterpriseName": "" },
})

const vid_e3e2c1uke5_props = reactive({
  value: "",
})

const vid_7n8q2ae8mm_props = reactive({
  systemSort: [],
  sorter: {},
  editRowSaveLoading: {},
  currentRow: { "formulaName": "", "bagsDeliveryVolume": "", "bulkDeliveryVolume": "", "clinkerDeliveryVolume": "", "trackStartDate": "", "trackEndDate": "", "id": "", "createdByName": "", "createdDate": "", "transferRatio": "", "compareEndDate": "", "compareStartDate": "" },
  selectedRowList: { "formulaName": [], "createdByName": [], "distance": [], "clinkerDeliveryVolume": [], "freight": [], "compareEndDate": [], "custom9": [], "areaName": [], "transferRatio": [], "statusName": [], "custom3": [], "custom4": [], "custom1": [], "id": [], "custom2": [], "custom7": [], "enterpriseName": [], "lastModifyDate": "", "custom8": [], "custom5": [], "custom6": [], "compareStartDate": [], "bagsDeliveryVolume": [], "lastModifyByName": "", "trackStartDate": [], "packingTypeName": [], "createdDate": [], "bulkDeliveryVolume": [], "trackEndDate": [] },
  totalNumber: undefined,
  rt_tableConfig: { "layout": { "showHeader": true, "sticky": false, "operationColumnFixed": "right" }, "pagination": { "current": 1, "pageSizeOptions": "10,20,30,40", "enable": true, "showTotal": true, "hideOnSinglePage": true, "pageSize": 10, "simple": false, "sync": true, "showQuickJumper": true, "showSizeChanger": true }, "scroll": { "x": "max-content", "y": "", "scrollToFirstRowOnChange": true }, "style": { "contentStyle": { "borderColor": "#EBEBEB", "enableContentStyle": false, "fontFamily": "arial, helvetica, \"microsoft yahei\"", "lintHeight": 40, "borderWidth": 1, "evenLineBackColor": "#FAFAFA", "textWeight": "400", "fontSize": 14, "oddLineBackColor": "#FFFFFF", "textColor": "#595959" }, "paginationStyle": { "layout": "bottomRight", "size": "default" }, "headerStyle": { "borderColor": "#D9D9D9", "backgroundColor": "#F5F5F5", "fontFamily": "arial, helvetica, \"microsoft yahei\"", "lintHeight": 40, "borderWidth": 1, "textWeight": "600", "fontSize": 14, "enableTextStyle": true, "textColor": "#262626" } }, "basic": { "rowSelection": false, "rowEdit": { "cancelText": "取消", "editText": "编辑", "saveText": "保存" }, "title": "", "showSequenceNumber": true, "rowKey": "id" } },
  columnList: [
    {
      dataIndex: 'vid_7n8q2ae8mm_serialNumber',
      title: '序号',
      resizable: true,
    },
    {
      id: 'aun4246g7i',
      dataIndex: 'formulaName',
      headerComment: false,
      title: '配送方案名称',
      ellipsis: false,
      headerOverflow: 'ellipsis',
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "conditionStyle": [], "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      id: 'sex2zzhq6c',
      dataIndex: 'bagsDeliveryVolume',
      headerComment: false,
      title: '袋装总配送量(吨)',
      ellipsis: false,
      headerOverflow: 'ellipsis',
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "conditionStyle": [], "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      id: '2bkp0wtx9y',
      dataIndex: 'bulkDeliveryVolume',
      headerComment: false,
      title: '散装总配送量(吨)',
      ellipsis: false,
      headerOverflow: 'ellipsis',
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "conditionStyle": [], "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      id: 'slid68ajfh',
      dataIndex: 'clinkerDeliveryVolume',
      headerComment: false,
      title: '熟料总配送量(吨)',
      ellipsis: false,
      headerOverflow: 'ellipsis',
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "conditionStyle": [], "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      id: 'ha1wxpv6v4',
      dataIndex: 'trackStartDate',
      headerComment: false,
      title: '跟踪开始日期',
      ellipsis: false,
      headerOverflow: 'ellipsis',
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "conditionStyle": [], "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      id: 'hfgp417bfu',
      dataIndex: 'trackEndDate',
      headerComment: false,
      title: '跟踪结束日期',
      ellipsis: false,
      headerOverflow: 'ellipsis',
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "conditionStyle": [], "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      id: 'uzw0wbyxsp',
      dataIndex: 'compareStartDate',
      headerComment: false,
      title: '比对开始日期',
      ellipsis: false,
      headerOverflow: 'ellipsis',
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "conditionStyle": [], "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      id: 'om4ibf32fa',
      dataIndex: 'compareEndDate',
      headerComment: false,
      title: '比对结束日期',
      ellipsis: false,
      headerOverflow: 'ellipsis',
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "conditionStyle": [], "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      id: '9wcf105sjp',
      dataIndex: 'createdByName',
      headerComment: false,
      title: '创建人',
      ellipsis: false,
      headerOverflow: 'ellipsis',
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "conditionStyle": [], "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      id: 'ovlu5hfcty',
      dataIndex: 'createdDate',
      headerComment: false,
      title: '创建日期',
      ellipsis: false,
      headerOverflow: 'ellipsis',
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "conditionStyle": [], "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      id: 'i0bsc3303w',
      dataIndex: 'transferRatio',
      headerComment: false,
      title: '转移进度',
      ellipsis: false,
      headerOverflow: 'ellipsis',
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEditConditions: [],
      contentType: 'PROCESS',
      contentConfig: { "defaultStyle": { "sizeType": "centre", "unit": "%", "showText": true, "strokeBgColor": "#EBEBEB", "textSite": "center", "processType": "line", "strokeColor": "#BFBFBF", "textColor": "#262626" }, "conditionStyle": [], "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      width: '180px',
      resizable: true,
    },
    {
      dataIndex: 'vid_7n8q2ae8mm_operation',
      title: '操作',
      fixed: 'right',
    },
  ],
  rawColumnList: [],
  // 进行行合并所需的排序规则，必须将其加到排序字段的前面，以实现合并单元格
  rowMergeSort: [],
  // 完整的排序规则：需要将行合并的排序规则和排序字段的排序规则赋给该属性；调接口时会使用其作为排序条件
  systemSort: [],
  // 条件格式需要的边界值映射：key为边界值id，value为边界值数据
  boundaryValueMap: {},
  // 表格单元格内容渲染需要的外部数据源：key为列，value为该列单元格的外部数据源配置
  contentDataSource: {},
})
// ---------------------------- 定义模型数据 ----------------------------

const b_s4b3af3fbs = reactive({ "d_i42ehtc5qh": "", "e_w9y19fd54a": "", "m_6wn9gm4dpl": "", "g_sx5kxy0uit": "", "a_d4njte2ji9": [{}] })


const g_5setus66w6 = reactive({})


const n_nvlymeclys = reactive({ "a_d4njte2ji9": [{}] })


const q_0n9lcks6du = reactive({ "l_gjascavd45": "", "p_m74d5cuevj": "", "y_k1xa3c4u6i": "", "z_yggvos9den": "" })


const c_nn5tl03s7o = reactive({ "searchFormEnterpriseName": "" })

// ============================ 定义模型数据 ============================





const b_s4b3af3fbs_rules = reactive({
  h_z1gwtxpt0d: [
    { required: true, message: '请选择方案名称!', trigger: 'blur' },
  ],
  d_i42ehtc5qh: [
    { required: true, message: '请选择跟踪开始日期!', trigger: 'blur' },
  ],
  e_w9y19fd54a: [
    { required: true, message: '请选择跟踪结束日期!', trigger: 'blur' },
  ],
  m_6wn9gm4dpl: [
    { required: true, message: '请选择对比开始日期!', trigger: 'blur' },
  ],
  g_sx5kxy0uit: [
    { required: true, message: '请选择对比结束日期!', trigger: 'blur' },
  ],




})



const g_5setus66w6_rules = reactive({


})



const n_nvlymeclys_rules = reactive({


})







const q_0n9lcks6du_rules = reactive({
  b_cxm6mk7hsx: [
    { required: true, message: '请选择方案名称!', trigger: 'blur' },
  ],
  l_gjascavd45: [
    { required: true, message: '请选择跟踪开始日期!', trigger: 'blur' },
  ],
  p_m74d5cuevj: [
    { required: true, message: '请选择跟踪结束日期!', trigger: 'blur' },
  ],
  y_k1xa3c4u6i: [
    { required: true, message: '请选择对比开始日期!', trigger: 'blur' },
  ],
  z_yggvos9den: [
    { required: true, message: '请选择对比结束日期 !', trigger: 'blur' },
  ],
})



const c_nn5tl03s7o_rules = reactive({

})


// 处理校验
const setSubFormName = (parentInfo, name) => {
  return [parentInfo.parents, parentInfo.cycleIndex, name];
}


const vid_4znhxf1euj_options_raw = ref([])

const vid_4znhxf1euj_options = computed(() => {
  return (dataSource = vid_4znhxf1euj_options_raw.value) => {
    return (dataSource || []).map(item => {
      return {
        ...item,
        value: item.id,
        disabled: !!item.disabled,
        label: item.name
      }
    })
  }
})



const vid_5ai9f5kegu_options_raw = ref([{ "label": "一般工程客户", "value": "一般工程客户" }, { "label": "基础市场客户", "value": "基础市场客户" }, { "label": "大型终端客户", "value": "大型终端客户" }, { "label": "熟料客户", "value": "熟料客户" }, { "label": "重点工程客户", "value": "重点工程客户" }, { "label": "骨料客户", "value": "骨料客户" }])

const vid_5ai9f5kegu_options = computed(() => {
  return () => vid_5ai9f5kegu_options_raw.value
})



const vid_4mvnf9s318_options_raw = ref([{ "label": "散装", "value": "散装" }, { "label": "散装水泥 P.O42.5", "value": "散装水泥 P.O42.5" }, { "label": "散装水泥42.5", "value": "散装水泥42.5" }, { "label": "散装水泥M32.5", "value": "散装水泥M32.5" }, { "label": "散装水泥P.C42.5", "value": "散装水泥P.C42.5" }, { "label": "散装水泥P.II42.5", "value": "散装水泥P.II42.5" }, { "label": "散装水泥P.II42.5R", "value": "散装水泥P.II42.5R" }, { "label": "散装水泥P.II52.5", "value": "散装水泥P.II52.5" }, { "label": "散装水泥P.II52.5R", "value": "散装水泥P.II52.5R" }, { "label": "散装水泥P.O42.5", "value": "散装水泥P.O42.5" }, { "label": "散装水泥P.O42.5(资源综合利用)", "value": "散装水泥P.O42.5(资源综合利用)" }, { "label": "散装水泥P.O42.5R", "value": "散装水泥P.O42.5R" }, { "label": "散装水泥P.O52.5", "value": "散装水泥P.O52.5" }, { "label": "散装水泥P.P32.5", "value": "散装水泥P.P32.5" }, { "label": "散装水泥P.S.A32.5", "value": "散装水泥P.S.A32.5" }, { "label": "散装水泥P.SS32.5", "value": "散装水泥P.SS32.5" }, { "label": "散装水泥低碱P.O42.5", "value": "散装水泥低碱P.O42.5" }, { "label": "散装水泥低碱P.O52.5", "value": "散装水泥低碱P.O52.5" }, { "label": "散装特供水泥P.O42.5（高铁用）", "value": "散装特供水泥P.O42.5（高铁用）" }, { "label": "散装缓凝水泥P.O42.5", "value": "散装缓凝水泥P.O42.5" }, { "label": "石灰石(水泥用)", "value": "石灰石(水泥用)" }, { "label": "袋装低碱水泥PO42.5", "value": "袋装低碱水泥PO42.5" }, { "label": "袋装水泥(家装)M32.5", "value": "袋装水泥(家装)M32.5" }, { "label": "袋装水泥M32.5", "value": "袋装水泥M32.5" }, { "label": "袋装水泥M32.5(复合)", "value": "袋装水泥M32.5(复合)" }, { "label": "袋装水泥M32.5(纸袋)", "value": "袋装水泥M32.5(纸袋)" }, { "label": "袋装水泥P.C42.5", "value": "袋装水泥P.C42.5" }, { "label": "袋装水泥P.O42.5", "value": "袋装水泥P.O42.5" }, { "label": "袋装水泥P.P32.5R", "value": "袋装水泥P.P32.5R" }, { "label": "袋装水泥P.O42.5R", "value": "袋装水泥P.O42.5R" }, { "label": "袋装水泥P.O42.5(资源综合利用)", "value": "袋装水泥P.O42.5(资源综合利用)" }, { "label": "袋装水泥P.P32.5R(纸袋)", "value": "袋装水泥P.P32.5R(纸袋)" }, { "label": "袋装水泥P.SS32.5", "value": "袋装水泥P.SS32.5" }, { "label": "袋装水泥P.P32.5", "value": "袋装水泥P.P32.5" }, { "label": "袋装水泥P.O52.5", "value": "袋装水泥P.O52.5" }, { "label": "袋装水泥P.O42.5（纸袋）", "value": "袋装水泥P.O42.5（纸袋）" }, { "label": "袋装水泥P.O42.5R（纸袋）", "value": "袋装水泥P.O42.5R（纸袋）" }])

const vid_4mvnf9s318_options = computed(() => {
  return () => vid_4mvnf9s318_options_raw.value
})



const vid_exoezxmeo8_options_raw = ref([])

const vid_exoezxmeo8_options = computed(() => {
  return (dataSource = vid_exoezxmeo8_options_raw.value) => {
    return (dataSource || []).map(item => {
      return {
        ...item,
        value: item.id,
        disabled: !!item.disabled,
        label: item.name
      }
    })
  }
})



const vid_7n8q2ae8mm_options_raw = ref([])

const vid_7n8q2ae8mm_options = computed(() => {
  return () => vid_7n8q2ae8mm_options_raw.value
})

// 图表组件 下拉框_caz8v8gqxl 条件格式数据依赖
const vid_4znhxf1euj_chartConditionDependencyMap = ref({
})
// 图表组件 下拉框_lt4o00zcco 条件格式数据依赖
const vid_5ai9f5kegu_chartConditionDependencyMap = ref({
})
// 图表组件 下拉框_hqm0ogx05d 条件格式数据依赖
const vid_4mvnf9s318_chartConditionDependencyMap = ref({
})
// 图表组件 下拉框_7e96uq47ex 条件格式数据依赖
const vid_exoezxmeo8_chartConditionDependencyMap = ref({
})
// 图表组件 表格_ihmq97llcm 条件格式数据依赖
const vid_7n8q2ae8mm_chartConditionDependencyMap = ref({
})
/* ========================== 属性定义 ========================== */


/* -------------------------- 元素数据引用 -------------------------- */
// 组件 表单容器_g3ijze7jvi ref 的引用
const vid_qiomuzun1t_ref = ref(null);
// 组件 动作列表_z75np74jzt ref 的引用
const vid_98b830vxao_ref = ref(null);
// 组件 新增路线表单 ref 的引用
const vid_ggy0hhd3d7_ref = ref(null);
// 组件 表单容器_iytgpp6ir4 ref 的引用
const vid_mtpy7hb57w_ref = ref(null);

/* ========================== 元素数据引用 ========================== */


/* -------------------------- 页面数据 -------------------------- */

// 页面数据 方案跟踪
const dataConnector_conn_ffpg1a6e7q_response = ref();
const dataConnector_conn_ffpg1a6e7q = async (additionParams = {}) => {
  const exec = async () => {
    // 获取参数
    const params = {
      filter: {},
      pageNo: vid_7n8q2ae8mm_props?.rt_tableConfig.pagination.current,
      pageSize: vid_7n8q2ae8mm_props?.rt_tableConfig.pagination.pageSize,
      sort: { "field": "createdDate", "direction": "DESC" }
    };
    params.filter.formulaName = c_nn5tl03s7o.searchFormEnterpriseName;
    // 注入附加的参数
    try {
      merge(params, additionParams);
    } catch (error) {
      console.log(error)
    }

    // 判断加载提示

    // 处理URL
    let url = '/solution-tianshan-material-logistics-distribution/api/v1/formula_track/search';
    // 替换url中的变量

    // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
    Object.keys(params).forEach(key => { if (params[key] === null) { delete params[key] } else if (Object.prototype.toString.call(params[key]) === '[object Object]') { Object.keys(params[key]).forEach(childKey => { if (params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))) { delete params[key][childKey] } }) } });
    return post(url, params, {
      headers: undefined
    }).then(async (resp) => {
      dataConnector_conn_ffpg1a6e7q_response.value = resp;

      return resp;
    }).catch(async (e) => {


      return Promise.reject(e);
    }).finally(async () => {


    })
  }

  return await exec()

}


// 页面数据 方案跟踪创建-浙江水泥版-弃用
const dataConnector_conn_880l143oh1_response = ref();
const dataConnector_conn_880l143oh1 = async (additionParams = {}) => {
  const exec = async () => {
    // 获取参数
    const params = {
      formulaId: vid_exoezxmeo8_props?.selected.value,
      compareStartDate: q_0n9lcks6du.y_k1xa3c4u6i,
      compareEndDate: q_0n9lcks6du.z_yggvos9den,
      trackEndDate: q_0n9lcks6du.p_m74d5cuevj,
      trackStartDate: q_0n9lcks6du.l_gjascavd45
    };

    // 注入附加的参数
    try {
      merge(params, additionParams);
    } catch (error) {
      console.log(error)
    }

    // 判断加载提示
    message.loading({ content: "保存数据中", duration: 0, key: "loading_okf3oc2gwg" })
    // 处理URL
    let url = '/solution-tianshan-material-logistics-distribution/api/v1/formula_track/create';
    // 替换url中的变量

    // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
    Object.keys(params).forEach(key => { if (params[key] === null) { delete params[key] } else if (Object.prototype.toString.call(params[key]) === '[object Object]') { Object.keys(params[key]).forEach(childKey => { if (params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))) { delete params[key][childKey] } }) } });
    return post(url, params, {
      headers: undefined
    }).then(async (resp) => {
      dataConnector_conn_880l143oh1_response.value = resp;

      return resp;
    }).catch(async (e) => {
      message.loading({ content: "保存数据中", duration: 0.1, key: "loading_okf3oc2gwg" })

      return Promise.reject(e);
    }).finally(async () => {
      message.loading({ content: "保存数据中", duration: 0.1, key: "loading_okf3oc2gwg" })

    })
  }

  return await exec()

}


// 页面数据 方案跟踪删除
const dataConnector_conn_14woexdy6p_response = ref();
const dataConnector_conn_14woexdy6p = async (additionParams = {}) => {
  const exec = async () => {
    // 获取参数
    const params = {

    };

    // 注入附加的参数
    try {
      merge(params, additionParams);
    } catch (error) {
      console.log(error)
    }

    // 判断加载提示
    message.loading({ content: "删除数据中...", duration: 0, key: "loading_w73qh2at1h" })
    // 处理URL
    let url = '/solution-tianshan-material-logistics-distribution/api/v1/formula_track/{id}';
    // 替换url中的变量
    url = url.replace('{id}', String(vid_7n8q2ae8mm_props?.currentRow.id))
    // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
    Object.keys(params).forEach(key => { if (params[key] === null) { delete params[key] } else if (Object.prototype.toString.call(params[key]) === '[object Object]') { Object.keys(params[key]).forEach(childKey => { if (params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))) { delete params[key][childKey] } }) } });
    return del(url, { data: params }, {
      headers: undefined
    }).then(async (resp) => {
      dataConnector_conn_14woexdy6p_response.value = resp;

      return resp;
    }).catch(async (e) => {
      message.loading({ content: "删除数据中...", duration: 0.1, key: "loading_w73qh2at1h" })

      return Promise.reject(e);
    }).finally(async () => {
      message.loading({ content: "删除数据中...", duration: 0.1, key: "loading_w73qh2at1h" })

    })
  }

  return await exec()

}


// 页面数据 搜索配送优化方案
const dataConnector_conn_zjptwkceh3_response = ref();
const dataConnector_conn_zjptwkceh3 = async (additionParams = {}) => {
  const exec = async () => {
    // 获取参数
    const params = {
      filter: {},
      pageNo: 1,
      pageSize: 300
    };
    params.filter.name = undefined;
    // 注入附加的参数
    try {
      merge(params, additionParams);
    } catch (error) {
      console.log(error)
    }

    // 判断加载提示

    // 处理URL
    let url = '/solution-tianshan-material-logistics-distribution/api/v1/distribution/search';
    // 替换url中的变量

    // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
    Object.keys(params).forEach(key => { if (params[key] === null) { delete params[key] } else if (Object.prototype.toString.call(params[key]) === '[object Object]') { Object.keys(params[key]).forEach(childKey => { if (params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))) { delete params[key][childKey] } }) } });
    return post(url, params, {
      headers: undefined
    }).then(async (resp) => {
      dataConnector_conn_zjptwkceh3_response.value = resp;

      return resp;
    }).catch(async (e) => {


      return Promise.reject(e);
    }).finally(async () => {


    })
  }

  return await exec()

}


// 页面数据 创建方案跟踪区域配置列表
const dataConnector_conn_9rctyuf1d8_response = ref();
const dataConnector_conn_9rctyuf1d8 = async (additionParams = {}) => {
  const exec = async () => {
    // 获取参数
    const params = {

    };

    // 注入附加的参数
    try {
      merge(params, additionParams);
    } catch (error) {
      console.log(error)
    }

    // 判断加载提示

    // 处理URL
    let url = '/solution-tianshan-material-logistics-distribution/api/v1/formula_track/area_config_search/{distribtionId}';
    // 替换url中的变量
    url = url.replace('{distribtionId}', String(vid_4znhxf1euj_props?.selected.value))
    // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
    Object.keys(params).forEach(key => { if (params[key] === null) { delete params[key] } else if (Object.prototype.toString.call(params[key]) === '[object Object]') { Object.keys(params[key]).forEach(childKey => { if (params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))) { delete params[key][childKey] } }) } });
    return get(url, params, {
      headers: {}
    }).then(async (resp) => {
      dataConnector_conn_9rctyuf1d8_response.value = resp;

      return resp;
    }).catch(async (e) => {


      return Promise.reject(e);
    }).finally(async () => {


    })
  }

  return await exec()

}


// 页面数据 方案跟踪创建
const dataConnector_conn_cqpwwtdks6_response = ref();
const dataConnector_conn_cqpwwtdks6 = async (additionParams = {}) => {
  const exec = async () => {
    // 获取参数
    const params = {
      formulaId: b_s4b3af3fbs.h_z1gwtxpt0d,
      compareStartDate: b_s4b3af3fbs.m_6wn9gm4dpl,
      compareEndDate: b_s4b3af3fbs.g_sx5kxy0uit,
      trackEndDate: b_s4b3af3fbs.e_w9y19fd54a,
      trackStartDate: b_s4b3af3fbs.d_i42ehtc5qh,
      formulaTrackAreaConfigCreateFormList: vid_98b830vxao_props?.dataSource
    };

    // 注入附加的参数
    try {
      merge(params, additionParams);
    } catch (error) {
      console.log(error)
    }

    // 判断加载提示

    // 处理URL
    let url = '/solution-tianshan-material-logistics-distribution/api/v1/formula_track/create';
    // 替换url中的变量

    // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
    Object.keys(params).forEach(key => { if (params[key] === null) { delete params[key] } else if (Object.prototype.toString.call(params[key]) === '[object Object]') { Object.keys(params[key]).forEach(childKey => { if (params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))) { delete params[key][childKey] } }) } });
    return post(url, params, {
      headers: {}
    }).then(async (resp) => {
      dataConnector_conn_cqpwwtdks6_response.value = resp;

      return resp;
    }).catch(async (e) => {


      return Promise.reject(e);
    }).finally(async () => {


    })
  }

  return await exec()

}


// 页面数据 配送方案查询
const dataConnector_conn_h61l9hfdam_response = ref();
const dataConnector_conn_h61l9hfdam = async (additionParams = {}) => {
  const exec = async () => {
    // 获取参数
    const params = {
      filter: { "generateType": null, "name": null, "type": null, "distributeFlag": null, "status": null },
      pageNo: 1,
      pageSize: 1000
    };
    params.filter.generateType = null;
    params.filter.name = null;
    params.filter.type = '自动';
    params.filter.distributeFlag = 'true';
    params.filter.status = null;
    // 注入附加的参数
    try {
      merge(params, additionParams);
    } catch (error) {
      console.log(error)
    }

    // 判断加载提示

    // 处理URL
    let url = '/solution-tianshan-material-logistics-distribution/api/v1/distribution/search';
    // 替换url中的变量

    // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
    Object.keys(params).forEach(key => { if (params[key] === null) { delete params[key] } else if (Object.prototype.toString.call(params[key]) === '[object Object]') { Object.keys(params[key]).forEach(childKey => { if (params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))) { delete params[key][childKey] } }) } });
    return post(url, params, {
      headers: {}
    }).then(async (resp) => {
      dataConnector_conn_h61l9hfdam_response.value = resp;

      return resp;
    }).catch(async (e) => {


      return Promise.reject(e);
    }).finally(async () => {


    })
  }

  return await exec()

}


/* ========================== 页面数据 ========================== */



/* -------------------------- 响应 -------------------------- */

// 页面交互 保存结果提示
const response_fq4oeyp3xc = async () => {

  const branchList = [{
    conditionType: 'EQUALS',
    value: 'success',
    exec: async () => {
      vid_k9r3sbi0bh_props.show = true;
      vid_eiugfqdqgf_props.visible = false;
      // 这里组件可能还未初始化， 这里使用可选链的形式进行函数触发
      try {
        await vid_qiomuzun1t_ref.value?.resetFields();
      } catch (error) { console.log(error); }
      // 这里组件可能还未初始化， 这里使用可选链的形式进行函数触发
      vid_98b830vxao_ref.value?.reset();
      await dataConnector_conn_ffpg1a6e7q()
    }
  }, {
    conditionType: 'EQUALS',
    value: 'failure',
    exec: async () => {
      vid_y851gfjx9v_props.show = true;
    }
  }];

  const matchBranch = branchList.find(item => checkCaseCondition(dataConnector_conn_cqpwwtdks6_response?.value?.status, item.conditionType, item.value));
  // 匹配到的分支
  if (matchBranch) {
    matchBranch.exec();
    return;
  }
  // 默认分支动作


}


// 页面交互 删除结果提示
const response_yiw2b531h8 = async () => {

  const branchList = [{
    conditionType: 'EQUALS',
    value: 'failure',
    exec: async () => {
      vid_pzdzo7cz52_props.show = true;
    }
  }, {
    conditionType: 'EQUALS',
    value: 'success',
    exec: async () => {
      vid_20axtkscly_props.show = true;
      await dataConnector_conn_ffpg1a6e7q()
    }
  }];

  const matchBranch = branchList.find(item => checkCaseCondition(dataConnector_conn_14woexdy6p_response?.value?.status, item.conditionType, item.value));
  // 匹配到的分支
  if (matchBranch) {
    matchBranch.exec();
    return;
  }
  // 默认分支动作


}


// 页面交互 转移量管理
const response_dcw33f5okr = async () => {

  const query = {
    formulaTrackId: vid_7n8q2ae8mm_props?.currentRow.id
  };
  let appBaseUrl = '';
  /*** PUBLISH_EXEGESIS ***
  appBaseUrl = getAppBaseUrl()
  *** PUBLISH_EXEGESIS ***/
  const jumpInfo = {
    path: `${appBaseUrl}/app_3000000020/page/3000000163`, // 跳转地址
    query
  };
  const routeUrl = router.resolve(jumpInfo);
  let url = routeUrl.href;
  // 判断是否是MicroApp的子应用
  const microAppData = window.microApp?.getData() ?? window.eventCenterForViteApp?.getData();
  if (microAppData) {
    const urlList = []
    Object.keys(jumpInfo.query).forEach(item => {
      urlList.push(item + '=' + jumpInfo.query[item]);
    })
    // 判断要跳转的地址是否是用户自定义输入的
    const customJumpPath = jumpInfo.path;

    // 自定义跳转页面不是其他平台的菜单，则直接使用全路径
    if (customJumpPath.indexOf('/allin-app/') !== -1) {
      // 目标页面是其他平台的菜单
      const realPath = customJumpPath.split('/allin-app/').pop()
      // 兼容二级域名情况
      let jumpPath = (microAppData.baseroute ?? '/allin-app') + '/' + realPath
      // 配置有参数，需要加参数添加到路由后面
      if (urlList.length) {
        // 跳转的路径本身带有参数
        if (jumpPath.indexOf('?') !== -1) {
          jumpPath += '&' + urlList.join("&");
        } else {
          jumpPath += '?' + urlList.join("&");
        }
      }
      url = location.origin + jumpPath;
    } else {
      // 目标页面就是低代码项目本身的页面
      if (location.href.indexOf('/allin-app/') > -1) {
        url = location.origin + location.pathname.split("/allin-app/").shift() + '/allin-app' + url;
      } else {
        url = location.origin + '/allin-app' + url;
      }
    }
  }
  // 打开新窗口

  if (microAppData) {
    window.location.href = url;
  } else {
    router.push(jumpInfo);
  }


}

/* ========================== 响应 ========================== */


/* -------------------------- 函数 -------------------------- */

/* ========================== 函数 ========================== */


/* -------------------------- 页面参数 -------------------------- */

const pageParameter_state = reactive({
  'processInstanceId': props.processInstanceId ?? route.query.processInstanceId,
})

/* ========================== 页面参数 ========================== */


/* -------------------------- 组件事件处理方法 -------------------------- */

// ---------------------------- 组件数据同步 ----------------------------
// 处理 下拉框_caz8v8gqxl 的 systemList 属性关联
watch(() => dataConnector_conn_h61l9hfdam_response?.value?.data?.content,
  () => {
    let dataList = dataConnector_conn_h61l9hfdam_response?.value?.data?.content

    vid_4znhxf1euj_options_raw.value = dataList;
  },
  { deep: true })
// 处理 动作列表_z75np74jzt 的 systemList 属性关联
watch(() => dataConnector_conn_9rctyuf1d8_response?.value?.data,
  () => {
    let dataList = dataConnector_conn_9rctyuf1d8_response?.value?.data

    vid_98b830vxao_props.dataSource = dataList;
  },
  { deep: true })
// 处理 删除失败_ylr7o9pemu 的 content 属性关联
watch(() => dataConnector_conn_14woexdy6p_response?.value?.errorMsg,
  () => {
    let dataList = dataConnector_conn_14woexdy6p_response?.value?.errorMsg

    vid_pzdzo7cz52_props.content = dataList;
  },
  { deep: true })
// 处理 新增失败_9fzf5yer02 的 content 属性关联
watch(() => dataConnector_conn_cqpwwtdks6_response?.value?.errorMsg,
  () => {
    let dataList = dataConnector_conn_cqpwwtdks6_response?.value?.errorMsg

    vid_y851gfjx9v_props.content = dataList;
  },
  { deep: true })
// 处理 下拉框_7e96uq47ex 的 systemList 属性关联
watch(() => dataConnector_conn_zjptwkceh3_response?.value?.data?.content,
  () => {
    let dataList = dataConnector_conn_zjptwkceh3_response?.value?.data?.content

    vid_exoezxmeo8_options_raw.value = dataList;
  },
  { deep: true })
// 处理 表格_ihmq97llcm 的 systemList 属性关联
watch(() => dataConnector_conn_ffpg1a6e7q_response?.value?.data?.content,
  () => {
    let dataList = dataConnector_conn_ffpg1a6e7q_response?.value?.data?.content

    vid_7n8q2ae8mm_options_raw.value = dataList;
  },
  { deep: true })
// 处理 表格_ihmq97llcm 的 totalNumber 属性关联
watch(() => dataConnector_conn_ffpg1a6e7q_response?.value?.data?.totalElements,
  () => {
    let dataList = dataConnector_conn_ffpg1a6e7q_response?.value?.data?.totalElements

    vid_7n8q2ae8mm_props.totalNumber = dataList;
  },
  { deep: true })
// ============================ 组件数据同步 ============================

/**
* 处理元素 对话框 的 ok 事件
*/
let handle_vid_eiugfqdqgf_ok = throttle(async (...params) => {
  // 这里组件可能还未初始化， 这里使用可选链的形式进行函数触发
  await vid_qiomuzun1t_ref.value?.validateFields();
  await dataConnector_conn_cqpwwtdks6()
  response_fq4oeyp3xc()
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_4znhxf1euj_change = throttle(async (...params) => {
  const [, option] = params;
  vid_4znhxf1euj_props.selected.label = option?.label;
  vid_4znhxf1euj_props.selected.value = option?.value;
  vid_4znhxf1euj_props.selected.option = option;
  vid_4znhxf1euj_props.selected.optionArray = [{ label: option?.label, value: option?.value }];
  await dataConnector_conn_9rctyuf1d8()
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_4znhxf1euj_search = throttle(async (...params) => {
  const [searchValue] = params;
  vid_4znhxf1euj_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_5ai9f5kegu_change = throttle(async (...params) => {
  const [, option] = params;
  vid_5ai9f5kegu_props.selected.label = option?.label;
  vid_5ai9f5kegu_props.selected.value = option?.value;
  vid_5ai9f5kegu_props.selected.option = option;
  vid_5ai9f5kegu_props.selected.optionArray = [{ label: option?.label, value: option?.value }];
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_5ai9f5kegu_search = throttle(async (...params) => {
  const [searchValue] = params;
  vid_5ai9f5kegu_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_4mvnf9s318_change = throttle(async (...params) => {
  const [, option] = params;
  vid_4mvnf9s318_props.selected.label = option?.label;
  vid_4mvnf9s318_props.selected.value = option?.value;
  vid_4mvnf9s318_props.selected.option = option;
  vid_4mvnf9s318_props.selected.optionArray = [{ label: option?.label, value: option?.value }];
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_4mvnf9s318_search = throttle(async (...params) => {
  const [searchValue] = params;
  vid_4mvnf9s318_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 对话框 的 cancel 事件
*/
let handle_vid_rlb5dflrsg_cancel = throttle(async (...params) => {
  vid_rlb5dflrsg_props.visible = false;
}, 500)
/**
* 处理元素 对话框 的 ok 事件
*/
let handle_vid_rlb5dflrsg_ok = throttle(async (...params) => {
  vid_rlb5dflrsg_props.visible = false;
  await dataConnector_conn_14woexdy6p()
  response_yiw2b531h8()
}, 500)
/**
* 处理元素 对话框 的 cancel 事件
*/
let handle_vid_v64mjv38mi_cancel = throttle(async (...params) => {
  // 这里组件可能还未初始化， 这里使用可选链的形式进行函数触发
  try {
    await vid_ggy0hhd3d7_ref.value?.resetFields();
  } catch (error) { console.log(error); }
}, 500)
/**
* 处理元素 对话框 的 ok 事件
*/
let handle_vid_v64mjv38mi_ok = throttle(async (...params) => {
  // 这里组件可能还未初始化， 这里使用可选链的形式进行函数触发
  await vid_ggy0hhd3d7_ref.value?.validateFields();
  await dataConnector_conn_880l143oh1()
  response_fq4oeyp3xc()
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_exoezxmeo8_change = throttle(async (...params) => {
  const [, option] = params;
  vid_exoezxmeo8_props.selected.label = option?.label;
  vid_exoezxmeo8_props.selected.value = option?.value;
  vid_exoezxmeo8_props.selected.option = option;
  vid_exoezxmeo8_props.selected.optionArray = [{ label: option?.label, value: option?.value }];
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_exoezxmeo8_search = throttle(async (...params) => {
  const [searchValue] = params;
  vid_exoezxmeo8_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 按钮 的 click 事件
*/
let handle_vid_l7h4fihefs_click = throttle(async (...params) => {
  await dataConnector_conn_ffpg1a6e7q()
}, 500)
/**
* 处理元素 按钮 的 click 事件
*/
let handle_vid_6kykssdrdk_click = throttle(async (...params) => {
  // 这里组件可能还未初始化， 这里使用可选链的形式进行函数触发
  try {
    await vid_mtpy7hb57w_ref.value?.resetFields();
  } catch (error) { console.log(error); }
  await dataConnector_conn_ffpg1a6e7q()
}, 500)
/**
* 处理元素 按钮 的 click 事件
*/
let handle_vid_icbjbduqt3_click = throttle(async (...params) => {
  vid_eiugfqdqgf_props.visible = true;
  await dataConnector_conn_h61l9hfdam()
}, 500)
/**
* 处理元素 表格 的 clickBtn_suqccx1oll 事件
*/
let handle_vid_7n8q2ae8mm_clickBtn_suqccx1oll = throttle(async (...params) => {
  // 存储表格当前行数据
  const [record] = params;
  vid_7n8q2ae8mm_props.currentRow = record;
  vid_rlb5dflrsg_props.visible = true;
}, 500)
/**
* 处理元素 表格 的 clickBtn_v167g9d5xi 事件
*/
let handle_vid_7n8q2ae8mm_clickBtn_v167g9d5xi = throttle(async (...params) => {
  // 存储表格当前行数据
  const [record] = params;
  vid_7n8q2ae8mm_props.currentRow = record;
  response_dcw33f5okr()
}, 500)
/**
* 处理元素 表格 的 change 事件
*/
let handle_vid_7n8q2ae8mm_change = throttle(async (...params) => {
  // 处理分页器相关数据
  const [pagination, filters, sorter] = params;
  const { current, pageSize } = pagination;
  vid_7n8q2ae8mm_props.rt_tableConfig.pagination.current = current;
  vid_7n8q2ae8mm_props.rt_tableConfig.pagination.pageSize = pageSize;
  // 处理排序相关数据
  const { field, order } = sorter;
  const sorterList = [...vid_7n8q2ae8mm_props.rowMergeSort];
  let sorterValue = {};
  if (order === 'descend') {
    sorterValue = { order: field, direction: 'DESC' }
  } else if (order === 'ascend') {
    sorterValue = { order: field, direction: 'ASC' }
  }
  sorterList.push(sorterValue);
  vid_7n8q2ae8mm_props.systemSort = sorterList;
  vid_7n8q2ae8mm_props.sorter = sorterValue;
  await dataConnector_conn_ffpg1a6e7q()
  await dataConnector_conn_ffpg1a6e7q()
}, 500)
/* ========================== 组件事件处理方法 ========================== */


/* -------------------------- 生命周期 -------------------------- */
// 用于参数变更后重新执行自定义指令
const queryUpdateFlag = ref(0);
onMounted(() => {
  ; dataConnector_conn_ffpg1a6e7q()

});

onUnmounted(() => {
  // 销毁定时器
  setTimeOutList.forEach(({ repeat, timer }) => {
    repeat ? clearInterval(timer) : clearTimeout(timer);
  });
});

/* ========================== 生命周期 ========================== */


/* -------------------------- 数据关联处理 -------------------------- */

// 处理 方案已存在提示_2062e380s6 全局消息
immediateWatch(
  () => vid_64j17hvjxg_props.show,
  () => {
    if (vid_64j17hvjxg_props.show) {
      message[vid_64j17hvjxg_props.type](vid_64j17hvjxg_props.content, vid_64j17hvjxg_props.duration, () => {
        vid_64j17hvjxg_props.show = false
      })
    }
  }
)
// 处理 导入失败全局提示_zzfz6gprh0 全局消息
immediateWatch(
  () => vid_v836qgvkhp_props.show,
  () => {
    if (vid_v836qgvkhp_props.show) {
      message[vid_v836qgvkhp_props.type](vid_v836qgvkhp_props.content, vid_v836qgvkhp_props.duration, () => {
        vid_v836qgvkhp_props.show = false
      })
    }
  }
)
// 处理 导入成功全局提示_0vfogydyku 全局消息
immediateWatch(
  () => vid_geu1yf8i6m_props.show,
  () => {
    if (vid_geu1yf8i6m_props.show) {
      message[vid_geu1yf8i6m_props.type](vid_geu1yf8i6m_props.content, vid_geu1yf8i6m_props.duration, () => {
        vid_geu1yf8i6m_props.show = false
      })
    }
  }
)
// 处理 删除成功_rdoqai6l54 全局消息
immediateWatch(
  () => vid_20axtkscly_props.show,
  () => {
    if (vid_20axtkscly_props.show) {
      message[vid_20axtkscly_props.type](vid_20axtkscly_props.content, vid_20axtkscly_props.duration, () => {
        vid_20axtkscly_props.show = false
      })
    }
  }
)
// 处理 删除失败_ylr7o9pemu 全局消息
immediateWatch(
  () => vid_pzdzo7cz52_props.show,
  () => {
    if (vid_pzdzo7cz52_props.show) {
      message[vid_pzdzo7cz52_props.type](vid_pzdzo7cz52_props.content, vid_pzdzo7cz52_props.duration, () => {
        vid_pzdzo7cz52_props.show = false
      })
    }
  }
)
// 处理 修改成功_nb8jevedxh 全局消息
immediateWatch(
  () => vid_10y8gy7frf_props.show,
  () => {
    if (vid_10y8gy7frf_props.show) {
      message[vid_10y8gy7frf_props.type](vid_10y8gy7frf_props.content, vid_10y8gy7frf_props.duration, () => {
        vid_10y8gy7frf_props.show = false
      })
    }
  }
)
// 处理 修改失败_1shcnkavdv 全局消息
immediateWatch(
  () => vid_wxrh37dm6m_props.show,
  () => {
    if (vid_wxrh37dm6m_props.show) {
      message[vid_wxrh37dm6m_props.type](vid_wxrh37dm6m_props.content, vid_wxrh37dm6m_props.duration, () => {
        vid_wxrh37dm6m_props.show = false
      })
    }
  }
)
// 处理 新增成功_eloz938wah 全局消息
immediateWatch(
  () => vid_k9r3sbi0bh_props.show,
  () => {
    if (vid_k9r3sbi0bh_props.show) {
      message[vid_k9r3sbi0bh_props.type](vid_k9r3sbi0bh_props.content, vid_k9r3sbi0bh_props.duration, () => {
        vid_k9r3sbi0bh_props.show = false
      })
    }
  }
)
// 处理 新增失败_9fzf5yer02 全局消息
immediateWatch(
  () => vid_y851gfjx9v_props.show,
  () => {
    if (vid_y851gfjx9v_props.show) {
      message[vid_y851gfjx9v_props.type](vid_y851gfjx9v_props.content, vid_y851gfjx9v_props.duration, () => {
        vid_y851gfjx9v_props.show = false
      })
    }
  }
)



/* -------------------------- 表单数据同步 -------------------------- */
/* ========================== 表单数据同步 ========================== */

/* ========================== 数据关联处理 ========================== */


/* -------------------------- 不同组件自定义的处理逻辑 -------------------------- */
immediateWatch(
  () => [b_s4b3af3fbs?.h_z1gwtxpt0d, vid_4znhxf1euj_options?.value()],
  () => {
    if (!!handle_vid_4znhxf1euj_change) {
      const options = (vid_4znhxf1euj_options?.value() || []).find((item) => item.value === b_s4b3af3fbs?.h_z1gwtxpt0d || item.label === b_s4b3af3fbs?.h_z1gwtxpt0d)
      if (!options) {
        return;
      }
      // 重置了表单，这里重置下拉框
      handle_vid_4znhxf1euj_change(b_s4b3af3fbs?.h_z1gwtxpt0d, { ...options } || {})
    }
  }
)
immediateWatch(
  () => [n_nvlymeclys?.businessPlateList, vid_5ai9f5kegu_options?.value()],
  () => {
    if (!!handle_vid_5ai9f5kegu_change) {
      const options = (vid_5ai9f5kegu_options?.value() || []).find((item) => item.value === n_nvlymeclys?.businessPlateList || item.label === n_nvlymeclys?.businessPlateList)
      if (!options) {
        return;
      }
      // 重置了表单，这里重置下拉框
      handle_vid_5ai9f5kegu_change(n_nvlymeclys?.businessPlateList, { ...options } || {})
    }
  }
)
immediateWatch(
  () => [n_nvlymeclys?.stockNameList, vid_4mvnf9s318_options?.value()],
  () => {
    if (!!handle_vid_4mvnf9s318_change) {
      const options = (vid_4mvnf9s318_options?.value() || []).find((item) => item.value === n_nvlymeclys?.stockNameList || item.label === n_nvlymeclys?.stockNameList)
      if (!options) {
        return;
      }
      // 重置了表单，这里重置下拉框
      handle_vid_4mvnf9s318_change(n_nvlymeclys?.stockNameList, { ...options } || {})
    }
  }
)
immediateWatch(
  () => [q_0n9lcks6du?.b_cxm6mk7hsx, vid_exoezxmeo8_options?.value()],
  () => {
    if (!!handle_vid_exoezxmeo8_change) {
      const options = (vid_exoezxmeo8_options?.value() || []).find((item) => item.value === q_0n9lcks6du?.b_cxm6mk7hsx || item.label === q_0n9lcks6du?.b_cxm6mk7hsx)
      if (!options) {
        return;
      }
      // 重置了表单，这里重置下拉框
      handle_vid_exoezxmeo8_change(q_0n9lcks6du?.b_cxm6mk7hsx, { ...options } || {})
    }
  }
)
const vid_08gzifwe2w_props_tabConfig = computed(() => {
  const initValue = [{ "parameter": [], "icon": "", "title": "配送优化", "applicationId": 3000000020, "key": "tab1", "targetPage": { "customUrl": "", "settingType": "" }, "query": {} }, { "parameter": [], "icon": "", "title": "跟踪明细", "applicationId": 3000000020, "key": "tab2", "targetPage": { "customUrl": "", "modelId": 3000000133, "settingType": "PAGE_LIST", "url": "/app_3000000020/page/3000000133" }, "query": {} }];
  return initValue;
})
/*** PUBLISH_EXEGESIS ***
systemStore.addBreadcrumbInfo(vid_08gzifwe2w_props_tabConfig.value);
*** PUBLISH_EXEGESIS ***/
onMounted(() => {
  const rawColumnList = []
  traversalTreeStructure(vid_7n8q2ae8mm_props.columnList, (node) => {
    if (node.type === 'column') {
      rawColumnList.push(node)
    }
  });
  /*** PUBLISH_EXEGESIS ***
  // 获取缓存的表格列宽度，处理列宽信息
  UserTableRecords.getTableRecords(localGet('al__UID')).then((res) => {
    const columnWidthMap = res['vid_7n8q2ae8mm'] ?? {};
    rawColumnList.map((column) => {
      if(columnWidthMap[column.dataIndex]) {
        column.width = columnWidthMap[column.dataIndex]
      }
    })
  });
  *** PUBLISH_EXEGESIS ***/
  vid_7n8q2ae8mm_props.rawColumnList = rawColumnList;
})
// 生成表格列：相同分组的数据需要合并单元格
const vid_7n8q2ae8mm_columns = computed(() => {
  // 需要合并单元格的列
  const groupKeys = [];

  // 将表头配置按照groupTitle字段进行分组，以实现多级表头
  const columnList = [...vid_7n8q2ae8mm_props.columnList];
  function formatColumns(columns) {
    columns.forEach(item => {
      const { dataIndex, contentAlign, children, customCellStyle } = item;
      // 如果当前列是分组列，则递归处理它的子列，当前列本身不作处理
      if (!dataIndex && children && children.length) {
        formatColumns(children);
        return;
      }

      const groupIndex = groupKeys.findIndex(item => item === dataIndex);
      // 如果当前字段属于分组字段，则给它添加合并单元格的配置，否则直接返回
      if (groupIndex === -1) {
        item.customCell = (record, index) => {
          return { style: { 'text-align': contentAlign, ...(customCellStyle || {}) } };
        };
      } else {
        item.customCell = (record, index) => {
          const rowGroupKeys = groupKeys.slice(0, groupIndex + 1);
          const rowSpanList = generateRowSpanList(vid_7n8q2ae8mm_options.value(), rowGroupKeys, vid_7n8q2ae8mm_props.editRecordMap);
          return { rowSpan: rowSpanList[index], style: { 'text-align': contentAlign, ...(customCellStyle || {}) } };
        };
      }
    })
  }

  // 格式化column：增加合并单元格的配置，以及自定义样式
  formatColumns(columnList);

  return columnList;
});


// 表格分页器信息：将总条数信息加到基础分页信息中
const vid_7n8q2ae8mm_pagination = computed(() => {
  const { totalNumber, rt_tableConfig } = vid_7n8q2ae8mm_props;
  const {
    enable = true,
    current = 1,
    pageSize = 10,
    showSizeChanger = false,
    pageSizeOptions = '10,20,30,40',
    showTotal = false,
    showQuickJumper = false,
    simple = false,
    hideOnSinglePage = false,
  } = rt_tableConfig.pagination ?? {};
  const { size = 'default', layout = 'bottomRight' } = rt_tableConfig?.style?.paginationStyle || {}
  let info = {};
  if (enable) {
    info = {
      total: totalNumber || 0,
      pageSize,
      size,
      simple,
      current,
      showSizeChanger,
      pageSizeOptions: pageSizeOptions.split(','),
      showQuickJumper,
      hideOnSinglePage,
      position: [layout],
    }
    if (showTotal) {
      info.showTotal = (total, range) => `共${total}个项目，第${current}/${Math.ceil(total / pageSize)}页`
    }
    return info;
  }
  return false;
})


// 补充一个watch，用于监听删除最后一页最后一条数据的情况，然后重新加载数据
watch(() => dataConnector_conn_ffpg1a6e7q_response?.value?.data?.content, (newValue) => {
  const current = vid_7n8q2ae8mm_props.rt_tableConfig.pagination.current;
  if (!newValue?.length && current > 1) {
    vid_7n8q2ae8mm_props.rt_tableConfig.pagination.current = current - 1;
    dataConnector_conn_ffpg1a6e7q();
  }
});
/**
 * 生成分组字段合并单元格的配置：返回值为一个数字数组，数组里面每一项即为该字段当前行的rowSpan配置
 * @param {Array} 表格中的数据
 * @param {Array} 当前分组字段的列表，注：为了保证优先级低的字段合并后是优先级高的字段合并后的子集，需要把比该字段优先级高的分组字段按顺序放在该字段前面；例如：所有分组字段列表为['grade', 'age', 'score']，要生成age字段的合并单元格配置，则该参数需要传['grade', 'age']
 * @returns {Array} 该字段合并单元格的rowSpan配置，例：[1, 1, 2, 0, 1]
 */
function generateRowSpanList(dataSource, groupKeys, editRecordMap) {
  if (!dataSource || !dataSource.length) {
    return [];
  }

  const rowSpanList = [];

  // 判断单元格是否需要合并的临时值：使用表格数据最后一行进行初始化（表格数据的遍历是倒序进行的）
  let tempValue = getGroupValue(dataSource[dataSource.length - 1], groupKeys);
  // 记录需要合并单元格的数量
  let tempValueCount = 0;

  // 倒序遍历数组，以保证使用最前面一条数据合并单元格
  for (let index = dataSource.length - 1; index >= 0; index--) {
    rowSpanList[index] = 0;
    const groupValue = getGroupValue(dataSource[index], groupKeys);
    // 如果当前行的分组数据跟上一行一致，则将标记数量加一；否则将标记数量的当前值赋给上一条数据，并重置临时值和标记数量
    if (editRecordMap && editRecordMap[index]) { //如果当前行是编辑行
      rowSpanList[index + 1] = tempValueCount;
      tempValue = "";
      tempValueCount = 1;
    }
    else if (groupValue === tempValue) {
      tempValueCount++;
    } else {
      rowSpanList[index + 1] = tempValueCount;
      tempValue = groupValue;
      tempValueCount = 1;
    }

    // 遍历到最后一行，将当前的标记数量赋给当前行
    if (index === 0) {
      rowSpanList[index] = tempValueCount;
    }
  }

  return rowSpanList;
}

/**
 * 根据分组字段列表生成当前数据行的分组值
 * @param {Object} 当前数据行
 * @param {Array} 分组字段列表
 * @returns {String} 拼装的当前数据行的分组值，例：record为{ age: 7, grade: '一年级', name: '小赵' }，groupKeys为['grade', 'age']，则拼装后的返回值为'一年级__$__7'
 */
function getGroupValue(record, groupKeys) {
  const groupValueList = [];
  groupKeys.forEach(groupKey => {
    let val = record[groupKey]
    if (isArray(val)) {
      val = record[groupKey + '_labels']
    } else if (isObject(val)) {
      console.warn('警告表格列数据为object，可能导致行合并异常，列key为：' + groupKey, val)
    }
    groupValueList.push(`${val}`);
  });
  return groupValueList.join('__$__');
}

/**
 * 将列表数据转换成树状数据
 * @param {Array} 原始的列表数据
 * @param {String|Number} 列表数据的唯一key
 * @param {String|Number} 列表数据转成树时的父级id
*/
function convertListToTree(list, key, parentKey) {
  const clonedList = cloneDeep(list || []);

  // 遍历列表数据，生成树节点的map：key为列表数据的唯一key，value为列表当前行的数据
  const treeNodeMap = {};
  clonedList.forEach(item => {
    treeNodeMap[item[key]] = item;
  });

  const treeDataList = [];
  clonedList.forEach(item => {
    // 如果当前行数据的父级id不在树节点的map中，则当前数据为根节点数据，将其加入最终树形数据的列表；否则将其放入其父节点数据的children中
    if (!treeNodeMap[item[parentKey]]) {
      treeDataList.push(item);
    } else {
      if (!treeNodeMap[item[parentKey]].children) {
        treeNodeMap[item[parentKey]].children = [];
      }
      treeNodeMap[item[parentKey]].children.push(item);
    }
  });

  return treeDataList;
}

/**
 * 表格列宽伸缩处理，使用indexedDB缓存伸缩后的列宽度
 */
const handleResizeColumn = (w, col, vid) => {
  col.width = w;
  /*** PUBLISH_EXEGESIS ***
  UserTableRecords.saveTableRecords(col, localGet('al__UID'), vid)
  *** PUBLISH_EXEGESIS ***/
}
/* ========================== 不同组件自定义的处理逻辑 ========================== */


// ================================定制化逻辑========================================
b_s4b3af3fbs_rules.d_i42ehtc5qh = [
  {
    required: true,
    trigger: 'blur',
    validator: (rule, value, callback) => {
      console.log(value);

      // 非空判断
      if (!value) {
        return Promise.reject("请选择跟踪开始时间！");
      }
      // 与上线时间对比
      if ((value && b_s4b3af3fbs.e_w9y19fd54a) && dayjs(value).format('YYYY-MM-DD hh-mm-ss') > dayjs(b_s4b3af3fbs.e_w9y19fd54a).format('YYYY-MM-DD hh-mm-ss')) {
        return Promise.reject("跟踪开始时间不能晚于跟踪结束时间");
      }
      return Promise.resolve();
    }
  }
]
b_s4b3af3fbs_rules.e_w9y19fd54a = [
  {
    required: true,
    trigger: 'blur',
    validator: (rule, value, callback) => {
      // 非空判断
      if (!value) {
        return Promise.reject("请选择跟踪结束时间！");
      }
      // 与上线时间对比
      if ((value && b_s4b3af3fbs.d_i42ehtc5qh) && dayjs(value).format('YYYY-MM-DD hh-mm-ss') < dayjs(b_s4b3af3fbs.d_i42ehtc5qh).format('YYYY-MM-DD hh-mm-ss')) {
        return Promise.reject("跟踪结束时间不能早于跟踪开始时间");
      }
      return Promise.resolve();
    }
  }
]
// 对比时间
b_s4b3af3fbs_rules.m_6wn9gm4dpl = [
  {
    required: true,
    trigger: 'blur',
    validator: (rule, value, callback) => {
      // 非空判断
      if (!value) {
        return Promise.reject("请选择对比开始时间！");
      }
      // 与上线时间对比
      if ((value && b_s4b3af3fbs.g_sx5kxy0uit) && dayjs(value).format('YYYY-MM-DD hh-mm-ss') > dayjs(b_s4b3af3fbs.g_sx5kxy0uit).format('YYYY-MM-DD hh-mm-ss')) {
        return Promise.reject("对比开始时间不能晚于对比结束时间");
      }
      return Promise.resolve();
    }
  }
]
b_s4b3af3fbs_rules.g_sx5kxy0uit = [
  {
    required: true,
    trigger: 'blur',
    validator: (rule, value, callback) => {
      // 非空判断
      if (!value) {
        return Promise.reject("请选择对比结束时间！");
      }
      // 与上线时间对比
      if ((value && b_s4b3af3fbs.m_6wn9gm4dpl) && dayjs(value).format('YYYY-MM-DD hh-mm-ss') < dayjs(b_s4b3af3fbs.m_6wn9gm4dpl).format('YYYY-MM-DD hh-mm-ss')) {
        return Promise.reject("对比结束时间不能早于对比开始时间");
      }
      return Promise.resolve();
    }
  }
]




</script>
<style lang="less" scoped>
.page_root {
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: #F0F2F5;
}

.page_root :deep(.@{ant-prefix}-spin-nested-loading),
.page_root :deep(.@{ant-prefix}-spin-container) {
  height: 100%;
}

.page_root :deep(.@{ant-prefix}-spin-container .@{ant-prefix}-table-wrapper) {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
}

.page_root :deep(.@{ant-prefix}-table) {
  flex: auto;
  overflow: auto;
}

.table-moreBtn_down {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  width: 100px;
}

.table-moreBtn_menu :deep(.table-moreBtn_menu-item):hover {
  background: #ebf1ff;
}

/*  表格树结构样式处理，展开按钮层级增加*/
:deep(.@{ant-prefix}-table-row-expand-icon) {
  z-index: 1;
}

/*  表格树结构 由于每个表格项采用自定义组件，使用绝对定位布局，开启树结构导致显示异常，暂时使用层级定位位置 */
:deep(.@{ant-prefix}-table-row-level-1 .@{ant-prefix}-table-cell-with-append .cell-wrapper-left) {
  left: 15px !important;
  width: calc(100% - 15px);
}

:deep(.@{ant-prefix}-table-row-level-2 .@{ant-prefix}-table-cell-with-append .cell-wrapper-left) {
  left: 30px !important;
  width: calc(100% - 30px);
}

:deep(.@{ant-prefix}-table-row-level-3 .@{ant-prefix}-table-cell-with-append .cell-wrapper-left) {
  left: 45px !important;
  width: calc(100% - 45px);
}

:deep(.@{ant-prefix}-table-row-level-4 .@{ant-prefix}-table-cell-with-append .cell-wrapper-left) {
  left: 60px !important;
  width: calc(100% - 60px);
}

/* 穿梭框改变默认样式，为根据组件样式控制左右栏宽度。 */
:deep(.@{ant-prefix}-transfer-list) {
  height: 100%;
  width: 50%;
}

.vid_402pzpmzru {
  box-shadow: 0px 0px 0px 0px
}

.vid_4znhxf1euj {
  width: 100%
}

.vid_vmbyw7upep {
  box-shadow: 0px 0px 0px 0px
}

.vid_61ykpu0e6m :deep(input) {
  cursor: undefined;
}

.vid_61ykpu0e6m {
  width: 100%
}

.vid_oosi78lmab {
  box-shadow: 0px 0px 0px 0px
}

.vid_15xleumt2c {
  color: rgba(191, 191, 191, 1)
}

.vid_azvaosfkat {
  width: 220px;
  display: flex;
  flex-direction: column;
  flex-wrap: undefined
}

.vid_ppwollbbzk {
  box-shadow: 0px 0px 0px 0px
}

.vid_i4kiicjuqy {
  box-shadow: 0px 0px 0px 0px
}

.vid_uccmen1b0z :deep(input) {
  cursor: undefined;
}

.vid_uccmen1b0z {
  width: 100%
}

.vid_y7gcdp5nca {
  border-bottom-style: none;
  border-bottom-width: 1px;
  border-bottom-color: #D9D9D9
}

.vid_8f0knrnxvx :deep(input) {
  cursor: undefined;
}

.vid_8f0knrnxvx {
  width: 100%
}

.vid_tfs88gyetp {
  box-shadow: 0px 0px 0px 0px
}

.vid_n66a3iehuk {
  color: rgba(191, 191, 191, 1)
}

.vid_zg1x0a5ppz {
  width: 220px;
  display: flex;
  flex-direction: column;
  flex-wrap: undefined
}

.vid_kdftoq0ol1 {
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: #D9D9D9
}

.vid_b4ir9ps0xq :deep(input) {
  cursor: undefined;
}

.vid_b4ir9ps0xq {
  width: 100%
}

.vid_j75hf8gj0e {
  margin-top: 16px
}

.vid_v5og9762d1 {
  margin-bottom: 0px
}

.vid_o0xhd7ipdj {
  box-shadow: 0px 0px 0px 0px
}

.vid_czy1tp41vk {
  margin-bottom: 0px
}

.vid_ihbxe8bz3o {
  box-shadow: 0px 0px 0px 0px
}

.vid_98b830vxao {
  margin-bottom: 0px;
  box-shadow: 0px 0px 0px 0px
}

.vid_xyst891jy9 {
  box-shadow: 0px 0px 0px 0px
}

.vid_5ai9f5kegu {
  width: 100%;
  box-shadow: 0px 0px 0px 0px
}

.vid_4mvnf9s318 {
  width: 100%;
  box-shadow: 0px 0px 0px 0px
}

.vid_eayblwqz2r {
  box-shadow: 0px 0px 0px 0px
}










.vid_exoezxmeo8 {
  width: 100%
}

.vid_514uk7ex85 {
  box-shadow: 0px 0px 0px 0px
}

.vid_pspd2pmflg :deep(input) {
  cursor: undefined;
}

.vid_pspd2pmflg {
  width: 100%;
  box-shadow: 0px 0px 0px 0px
}

.vid_tdg6as11tr :deep(input) {
  cursor: undefined;
}

.vid_tdg6as11tr {
  width: 100%
}

.vid_hqzuxko67b :deep(input) {
  cursor: undefined;
}

.vid_hqzuxko67b {
  width: 100%;
  box-shadow: 0px 0px 0px 0px
}

.vid_mofmkxsei7 {
  margin-bottom: 0px
}

.vid_oeedkuopnf :deep(input) {
  cursor: undefined;
}

.vid_oeedkuopnf {
  width: 100%
}

.vid_08gzifwe2w :deep(a) {
  color: undefined;
}

:deep(.vid_08gzifwe2w.@{ant-prefix}-breadcrumb)>span:last-child a {
  color: undefined;
  opacity: 0.75;
}

.vid_08gzifwe2w {
  height: 40px;
  display: flex;
  align-items: center;
  flex-wrap: undefined;
  margin-bottom: 24px;
  padding-left: 24px;
  background-color: rgba(255, 255, 255, 1)
}

.vid_gre6fxrbr2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: nowrap;
  padding-top: 24px;
  padding-right: 24px;
  padding-left: 24px
}

.vid_mtpy7hb57w {
  width: 100%;
  padding-top: 16px;
  padding-bottom: 16px;
  background-color: #FFFFFF;
  box-shadow: 0px 0px 0px 0px;
  border-radius: 2px
}

.vid_tiheieqgz1 {
  width: 100%;
  padding-left: 24px
}

.vid_l7h4fihefs {
  margin-right: 8px;
  background-color: #D7000F;
  border-style: solid;
  border-width: 1px;
  border-color: #D7000F;
  border-radius: 2px
}

.vid_6kykssdrdk {
  margin-right: 16px;
  color: rgba(89, 89, 89, 1);
  box-shadow: 0px 0px 0px 0px;
  border-style: solid;
  border-width: 1px;
  border-color: #D9D9D9;
  border-radius: 2px
}

.vid_r4nmbgw7eu {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: undefined;
  margin-bottom: 0px
}

.vid_e3e2c1uke5 {
  box-shadow: 0px 0px 0px 0px
}

.vid_p00g6u82ex {
  display: inline-block
}

.vid_qs9c42wp43 {
  width: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: undefined;
  margin-top: 16px;
  background-color: #FFFFFF;
  box-shadow: 0px 0px 0px 0px;
  border-radius: 2px
}

.vid_7fowdp3xqq {
  width: 100%;
  display: flex;
  align-items: center;
  flex-wrap: undefined;
  margin-top: 16px;
  padding-right: 24px;
  padding-left: 24px;
  background-color: rgba(255, 255, 255, 1)
}

.vid_80bjul2w21 {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  flex-wrap: undefined;
  box-shadow: 0px 0px 0px 0px
}

.vid_icbjbduqt3 {
  margin-left: 16px;
  color: rgba(255, 255, 255, 1);
  background-color: rgba(215, 0, 15, 1);
  box-shadow: 0px 0px 0px 0px;
  border-style: solid;
  border-width: 1px;
  border-color: #D7000F
}

.vid_7rbddrw9so {
  padding-right: 0px;
  padding-left: 8px;
  font-weight: 600;
  color: rgba(38, 38, 38, 1);
  font-size: 16px;
  line-height: 16px;
  border-left-style: solid;
  border-left-width: 4px;
  border-left-color: #D7000F
}

.vid_b0def1yp1v {
  margin-top: 16px;
  padding-right: 24px;
  padding-left: 24px;
  box-shadow: 0px 0px 0px 0px
}

.vid_7n8q2ae8mm :deep(.@{ant-prefix}-table-thead)>tr {
  height: 40px;
}

.vid_7n8q2ae8mm :deep(.@{ant-prefix}-table-thead)>tr>th {
  background: #F5F5F5;
  font-size: 14px;
  font-family: arial, helvetica, "microsoft yahei";
  font-weight: 600;
  color: #262626;
  border-bottom: 1px solid #D9D9D9;
  padding: 8px 16px;
}

.vid_7n8q2ae8mm :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) .@{ant-prefix}-table-container .@{ant-prefix}-table-thead>tr:not(:last-child)>th {
  border-bottom: 1px solid #D9D9D9;
}

.vid_7n8q2ae8mm :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) .@{ant-prefix}-table-container .@{ant-prefix}-table-thead>tr>th {
  border-right: 1px solid #D9D9D9;
}

/* 将表格自带的左边框取消，方便设置表头边框颜色和内容边框颜色 */
.vid_7n8q2ae8mm :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) .@{ant-prefix}-table-container {
  border-left: none;
}

.vid_7n8q2ae8mm :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) .@{ant-prefix}-table-container .@{ant-prefix}-table-thead>tr>th[colstart='0']:first-child {
  border-left: 1px solid #D9D9D9;
}

/* 开启粘性表头后，表格结构会发生变化 需另外处理 */
.vid_7n8q2ae8mm :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) .@{ant-prefix}-table-container .@{ant-prefix}-table-header table {
  border-top: 1px solid #D9D9D9;
}

.vid_7n8q2ae8mm :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) .@{ant-prefix}-table-container>.@{ant-prefix}-table-content>table {
  border-top: 1px solid #D9D9D9;
}

.vid_7n8q2ae8mm :deep(.@{ant-prefix}-table-thead)>tr>th:not(:last-child):not(.@{ant-prefix}-table-selection-column):not(.@{ant-prefix}-table-row-expand-icon-cell):not([colspan])::before {
  background: #D9D9D9;
  width: 1px;
}

.vid_7n8q2ae8mm :deep(.@{ant-prefix}-table-cell-scrollbar) {
  box-shadow: none;
}

.vid_7n8q2ae8mm :deep(.@{ant-prefix}-table-tbody) tr {
  height: 40px;
}

.vid_7n8q2ae8mm :deep(.@{ant-prefix}-table-tbody) tr>td {
  font-size: 14px;
  font-family: arial, helvetica, "microsoft yahei";
  font-weight: 400;
  color: #595959;
  border-bottom: 1px solid #EBEBEB;
  padding: 0 16px;
  word-break: break-all;

  .cell-wrapper {
    padding: 0 16px;
  }
}

.vid_7n8q2ae8mm :deep(.@{ant-prefix}-table-tbody) tr>td .cell-wrapper {
  padding: 0 16px;
}

.vid_7n8q2ae8mm :deep(.@{ant-prefix}-table-empty .@{ant-prefix}-table-tbody tr > td) {
  padding: 0;
}

.vid_7n8q2ae8mm :deep(.@{ant-prefix}-table-tbody) tr>td .@{ant-prefix}-btn {
  padding: 0 30px 0 0;
}

.vid_7n8q2ae8mm :deep(.@{ant-prefix}-table-tbody) tr>td .@{ant-prefix}-btn:last-child {
  padding: 0;
}

.vid_7n8q2ae8mm :deep(.table-striped-odd) td {
  background-color: #FFFFFF;
}

.vid_7n8q2ae8mm :deep(.table-striped-even) td {
  background-color: #FAFAFA;
}

.vid_7n8q2ae8mm :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) .@{ant-prefix}-table-container .@{ant-prefix}-table-tbody tr>td {
  border-right: 1px solid #EBEBEB;
}

.vid_7n8q2ae8mm :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) .@{ant-prefix}-table-container .@{ant-prefix}-table-tbody tr>td:first-child {
  border-left: 1px solid #EBEBEB;
}

.vid_7n8q2ae8mm {
  width: 100%;
  min-height: 200px
}

.vid_7n8q2ae8mm:active {
  width: 100%
}

.vid_7n8q2ae8mm:focus {
  width: 100%
}

.vid_7n8q2ae8mm:hover {
  width: 100%
}

.vid_gre6fxrbr2 {
  height: calc(100% - 24px);
}

.vid_qs9c42wp43 {
  height: calc(100% - 80px);
}
</style>